공돌공돌 2012. 4. 16. 14:45

 

 

 

변수의 종류

선언위치 

생성시기 

 클래스 변수

클래스 영역

 클래스가 메모리에 올라갈 때

 인스턴스 변수

 인스턴스가 생성되었을 때

 지역 변수

클래스 영역 이외의 영역
(메서드, 생성자, 초기화 블럭 내부) 

 변수 선언문이 수행되었을 때

 

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

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

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

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