정적 초기자 영역의 코드는 단 한번만 실행되는데 그 실행시점은
- 해당 클래스의 객체를 생성할때
- 해당 클래스의 static 멤버(변수 혹은 메소드)에 최초로 접근할 때 한번 실행이 된다. 이 경우는 심지어 해당 클래스의 객체를 생성하지 않았을 지라도 해당 클래스의 멤버에 최초 접근시 정적 초기자가 실행이 된다.
- 두 번째 호출시에는 실행되지 않는다.
public class Test{
private static String test = “Hellow”;
//여기가 정적 초기자
static{
System.out.println(“정적 초기자 영역입니다.”)
System.out.println(test)
}
}