국비교육/요약정리

자바의 정석 6장(5) 변수의 초기화

Hearthole 2018. 7. 5. 20:08

5. 변수의 초기화


5-1 변수의 초기화

변수를 선언하고 처음으로 값을 저장하는 것을 '변수의 초기화'라고 한다. 

가능하면 선언과 동시에 초기화하는 것이 바람직하다.

멤버변수는 초기화하지 않아도 변수의 자료형에 맞는 기본값으로 초기화 되지만, 

지역변수는 사용 전 반드시 초기화해야 한다.


멤벼변수(클래스변수와 인스턴스변수)와 배열의 초기화는 선택, 지역변수 초기화는 필수


멤버변수의 초기화 방법

1.명시적 초기화

2.생성자

3.초기화 블럭

- 인스턴스 초기화 블럭 : 인스턴스 변수를 초기화 하는데 사용

- 클래스 초기화 블럭    : 클래스변수를 초기화 하는데 사용


5-2 명시적 초기화(explicit initialization)

변수를 선언과 동시에 초기화 하는 것을 명시적 초기화라고 한다. 


5-3 초기화 블럭(initialization block)

클래스 초기화 블럭 - 클래스변수의 복잡한 초기화에 사용된다.

클래스 내에 블럭{}을 만들고 그안에 코드를 작성 하면 된다.

클래스가 메모리에 처음 로딩될 때 한번만 수행된다.


인스턴스 초기화 블럭 - 인스턴스변수의 복잡한 초기화에 사용된다.

클래스 초기화 블럭은 인스턴스 초기화 블럭 앞에 static을 붙여주면 된다.

생성자와 같이 인스턴스를 생성할 때 마다 수행된다.


5-4 멤버변수의 초기화 시기와 순서

클래스변수의 초기화 시점    - 클래스가 처음 로딩될 때 한번만 초기화 된다.

인스턴스변수의 초기화 시점 - 인스턴스가 생성될 때마다 각 인스턴스별로 초기화가 이루어진다.

클래스변수의 초기화 순서    - 기본값->명시적초기화->클래스 초기화 블럭

인스턴스변수의 초기화 순서 - 기본값->명시적초기화->인스턴스 초기화 블럭-> 생성자