클래스 변수 ( static 변수 ) : 클래스별로 유일
인스턴스 변수 : 인스턴스가 소유하는 변수
클래스 변수의 초기화 : 클래스가 처음 메모리에 로딩될 때 단 한번 차례대로 수행, 순서는
기본값 -> 명시적초기화 -> 클래스 초기화 블럭
인스턴스 변수의 초기화 : 인스턴스를 생성할 때마다 차례대로 수행, 순서는
기본값 -> 명시적초기화 -> 인스턴스 초기화 블럭 -> 생성자
class InitTest{
static int classVariable = 1; //명시적 초기화부분
int instanceVariable = 1;
static { classVariable = 2; } // 클래스 초기화 블럭
{ instanceVariable = 2; } // 인스턴스 초기화 블럭
InitTest(){ // 생성자
instanceVariable = 3;
}
}