전체 글 119

[국비][JAVA] 그 외 제어자(지정자) Static 이해 및 클래스 영역/스택영역/힙영역 이해

▶ static 변수 및 메서드의 이해https://zoooom-in.tistory.com/58 [김영한_자바기본][7. 자바 메모리 구조와 static] static 변수 및 메서드 이해 (p.15-31)객체 인스턴스가 필요한 이유는 멤버 변수(인스턴스)변수를 사용하기 위함 static(정적 변수/클래스 변수)는 공통으로 사용되며, static변수/메서드는 클래스 자체에 접근해 사용 그러나 클래스 statzoooom-in.tistory.com ▶ 자바 메모리 구조와 statichttps://zoooom-in.tistory.com/57 [김영한_자바기본][7. 자바 메모리 구조와 static] 자바 메모리 구조 이해 / 스택과 큐 자료 구조(p.1-메서드 영역: 프로그램의 클래스 정보와 정적 변수를 저장..

Java/[국비] JAVA 2024.06.01

[국비][JAVA] this 이해하기

this는 자기 자신을 부르는 이름표와 같음즉 객체 생성 후 메서드 호출 시, 메서드 내에서 this는 호출된 객체를 가리킴this 키워드- this 키워드는 현재 객체를 참조하는 역할- 클래스 내에서 this를 사용하여 객체의 필드와 메서드를 참조- 객체 생성 후 메서드를 호출하면, 해당 메서드 내에서 this는 호출된 객체를 가리킴※ this 키워드는 마치 자기 자신을 부르는 이름표와 같음ex) momCar.info()를 호출하면, info 메서드 안에서 this는 momCar를 가리킴      > 이는 info 메서드가 momCar의 속성과 메서드를 사용할 수 있게 합니다. [예시코드]public class Ex3Main { public static void main(String[] args)..

Java/[국비] JAVA 2024.05.30

[국비][JAVA] 메서드 오버로딩, 오버라이딩 차이

메서드 오버로딩메서드 오버라이딩- 동일 클래스 내 메서드 이름을 같게 선언- 매개변수의 개수, 타입, 순서가 다를 시 적용- 반환 타입이 달라도 오버로딩으로 간주되지 않음 - 컴파일 타임에 어떤 메서드가 호출될지 결정됨- 상속 관계에서 발생- 부모 클래스의 메서드를 자식 클래스에서 재정의- 메서드의 이름, 매개변수, 반환 타입이 동일- 다형성을 실현하여 런타임에 객체의 타입에 따라 적절한   메서드를 호출할 수 있음 [메서드 오버로딩 예시 코드]class MathUtils { // 매개변수의 개수가 다른 경우 int add(int a, int b) { return a + b; } // 매개변수의 타입이 다른 경우 double add(double a, double b..

용어/java 2024.05.30

[국비][JAVA] 참조값 및 객체 이해하기_예시

▶ 기본형 / 참조형 이해https://zoooom-in.tistory.com/45 [김영한_자바기본][2.기본형과 참조형] 기본형 / 참조형 이해 (p.1-6)참조값에 접근한다는 것은 설계도와 부지 위치에 접근해서 같이 공동 작업을 하는 것이다. 기본형은 실제 값이 저장되어 독립적으로 관리되지만, 참조형은 변수에는 객체 위치(참조값)가 저장zoooom-in.tistory.com ▶ 기본형 / 참조형 - 메서드에 객체 반환https://zoooom-in.tistory.com/66 [김영한_자바기본][2. 기본형과 참조형] (보충) 메서드에 객체 전달 / 메서드에서 객체 반환 / NullPo▶ 1. 클래스와 데이터 : 클래스 생성 + 클래스의 이해 https://zoooom-in.tistory.com/65..

용어/java 2024.05.30

[국비][JAVA] Class, Object이해_심화 예시

▶ Class, Object 이해https://zoooom-in.tistory.com/105 [국비][JAVA] Class, Object이해▶ 클래스 도입 및 객체 이해하기https://zoooom-in.tistory.com/43 [김영한_자바기본][1.클래스와 데이터] 클래스 도입, 객체 이해하기(인스턴스) (p.15-23)Class는 설계도로, 객체(인스턴스)는 설계도를 구현zoooom-in.tistory.com 각 배열 요소에 Student 객체를 생성하여 할당해야 함- 이를 통해 배열 요소가 null이 아닌 실제 객체를 참조하기 때문- 초기화: 배열 생성 시 각 요소는 null- 이는 아직 객체가 생성되지 않았다는 뜻- null 상태에서는 객체의 필드나 메서드에 접근할 수 없음- 데이터 저장: 각..

Java/[국비] JAVA 2024.05.29

[국비][JAVA] Class, Object이해

▶ 클래스 도입 및 객체 이해하기https://zoooom-in.tistory.com/43 [김영한_자바기본][1.클래스와 데이터] 클래스 도입, 객체 이해하기(인스턴스) (p.15-23)Class는 설계도로, 객체(인스턴스)는 설계도를 구현한 설계툴로 보자 정보 참조는 설계툴을 통해 이루어지며, 입력 전까지는 설계툴에는 원본(설계도면) 위치만 뜬다. [코드 읽기 전, 이해 도모를zoooom-in.tistory.com  클래스가 필요한 근본적인 이유는 다양한 데이터 타입을 하나의 묶음으로 보고 관리하기 위함이다.    ⇒ 하나의 데이터 타입(Class)으로 만들 수 있다.  Class(클래스) : 설계도Object(객체) : 실제 구현물- 자동차 설계 도면, 구상물1) [인스턴스/멤버 변수] 변수(속성)..

Java/[국비] JAVA 2024.05.29

[국비][JAVA] 배열 이해 및 기본형, 참조형 기본 값

[배열 선언]int[] ar = new int[3];- 크기가 3인 int 배열을 선언하고, 초기화- int형이 아닌 int형 배열이라고 부름 [메모리 구조 상]스택 영역힙 영역- ar 변수 자체는 스택 메모리에 저장- ar 변수 자체는 배열의 주소값(참조값)을 가지고 있음- new int[3]은 힙 메모리에 저장-  메모리에는 세 개의 int 값이 저장될 공간이 할당됨    (4byte) [인스턴스 변수 기본값]public class Example { int num; // 기본값 0 String str; // 기본값 null int[] array = new int[3]; // 각 요소는 기본값 0} >> 메모리 구조상 [기본형 기본값]public class Primitive { p..

용어/java 2024.05.28

[국비][JAVA] 자바 메모리 영역

▶ 참고 (자바 메모리와 static 구조)https://zoooom-in.tistory.com/57 [김영한_자바기본][7. 자바 메모리 구조와 static] 자바 메모리 구조 이해 / 스택과 큐 자료 구조(p.1-메서드 영역: 프로그램의 클래스 정보와 정적 변수를 저장하는 공간 힙 영역: 동적으로 생성되는 객체들을 저장하는 공간 스택 영역: 메서드 호출 및 파라미터를 임시로 저장하는 공간 **메인 메zoooom-in.tistory.com  특징저장되는 데이터스택 영역 (Stack)- 메서드 호출과 관련된 지역 변수 및 매개 변수 저장- 메서드 호출이 끝나면 자동으로 메모리에서 제거- LIFO(Last In First Out) 구조를 따름※ Main 메서드 부분 생각 / 메서드 호출- 지역 변수- 매개..

용어/java 2024.05.28

[국비][JAVA] 자동 형변환과 문자열 비교

자동 형변환 : 자바에서 int와 long 간의 비교 시 int가 long으로 자동 형변환되어 비교됨문자열 비교시 == 연산자는 참조값을 비교, equals() 메서드는 문자열의 실제 내용을 비교 자동 형변환과 값 비교- 자바는 같은 타입끼리 연산자 사용 가능- 다만, 서로 다른 기본 타입을 비교할 때, 작은 타입이 큰 타입으로 자동 형변환됨   ex) int 타입과 long 타입의 값을 비교할 때, int 타입이 long 타입으로 자동 형변환된 후 비교가 이루어짐 문자열 비교- 문자열을 비교할 때는 == 연산자와 equals() 메서드의 차이를 이해해야 함- == 연산자는 참조값을 비교- equals() 메서드는 문자열의 내용을 비교합니다.  [예제 코드]public class Main { pub..

Java/[국비] JAVA 2024.05.27

[국비][JAVA] char 타입 → int 타입 변환 및 아스키코드표

char 타입이 int 타입으로 변환되는 이유는 문자 데이터가 컴퓨터 내에서 정수로 표현되기 때문char 타입은 실제로는 0에서 255 사이의 정수값을 가지며, 이는 아스키 코드(ASCII) 표에 대응됨 문자아스키 코드 값문자아스키 코드 값A65a97B66b98C67c99048149250351※ 자세한 아스키 코드 값은 네이버 및 구글에 검색  [아스키 코드 적용 코드 예시 1_콘솔 출력]public static void main(String[] args) { System.out.println("1" + 1); //11 System.out.println(1 + "1" + 1); //111 System.out.println(1 + 'a' + "1"); // (1+97) + 문자 1 -> 9..

Java/[국비] JAVA 2024.05.27