[java] 자바 static 변수의 접근방법과 초기화 시점


static 변수
– 인스턴스 생성과는 무관하게 초기화 되는 변수
– static 변수가 속한 클래스의 인스턴스가 여러번 생성되어도 static 변수는 하나만 존재
– public 으로 선언되면 어디서든 접근가능
아래 코드를 실행하면 num의 값이 공유되고 있음을 알 수 있다.

static 변수의 접근방법
– 클래스 내부에서 직접접근
– 인스턴스 생성후 접근 > 일반변수와의 구분이 어렵기 때문에 권장하지 않는다.
– 클래스의 이름으로 접근

static 변수의 초기화 시점
– JVM은 실행과정에서 필요한 클래스의 정보를 한꺼번에 모두 올리는 것이 아니라 순차적으로 메모리에 로딩한다.
따라서 static 변수가 속한 클래스의 정보가 처음으로 필요로 하게되는 그순간에 static 변수도 함께 로딩된다.