BackEnd/Java
초기화 블록 (Initialization block)
초록 (green)
2017. 2. 13. 12:04
1. 정의
클래스의 초기화와 관련된 작업을 수행하고, 생성자보다 먼저 호출되며 클래스 초기화 블록과 인스턴스 초기화 블록으로 구분된다.
2. 분류
분류 |
설명 |
클래스 초기화 블록 |
클래스 파일이 JVM에 로드 되는 시점에 실행됨 |
인스턴스 초기화 블록 |
클래스의 인스턴스가 생성되고, 생성자가 호출되기 전에 실행됨 |
3. 예제
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 |
public class Hello {
//class initialization block
static {
System.out.println("클래스 초기화 블록");
}
//instance initialization block
{
System.out.println("인스턴스 초기화 블록");
}
//default constructor
Hello () {
System.out.println("디폴트 생성자");
}
Hello (int value) {
System.out.println("생성자 오버로딩");
}
}
public class HelloMain {
final static boolean LOG_ENABLE = false;
public static void main(String[] args) {
Hello hello = new Hello();
Hello hello2 = new Hello(0);
}
} |
cs |