변수의 초기화

0

변수의 초기화

  • 지역변수(lv)는 수동 초기화 해야함 (사용전 꼭!!)
  • 멤버변수(iv, cv)는 자동 초기화 된다.
class InitTest {
	int x;   // 인스턴스 변수
    int y = x;  // 인스턴스 변수
    
    void method1() {
    	int i;          // 지역변수
        int j = i;      // 에러. 지역변수를 초기화하지 않고 사용
       }
}

멤버변수의 초기화

1. 명시적 초기화(=)

class Car {
	int door = 4;           // 기본형(primitive type) 변수의 초기화
    Engine e = new Engine();  // 참조형(reference type) 변수의 초기화
  • 참조형 변수
    • null : 기본값
    • 객체주소

2. 초기화 블럭 -> 복잡한 초기화에 사용. 여러 문장.

  • 인스턴스 초기화 블럭 : {}
  • 클래스 초기화 블럭 : static {} - cv 초기화

3. 생성자 : iv 초기화, 복잡한 초기화에 사용.

  • 클래스 변수 초기화 시점 : 클래스가 처음 로딩될 때 단 한번
  • 인스턴스 변수 초기화 시점 : 인스턴스가 생성될 때 마다
profile
백엔드를 공부하고 있습니다.

0개의 댓글