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 |
'BackEnd > Java' 카테고리의 다른 글
가변인수 (Java 5.0 이상) (0) | 2017.02.13 |
---|---|
Java :: 열거형 (Enumeration) (Java 5.0 이상) (0) | 2017.02.13 |
AWT vs 스윙 (Swing) (0) | 2017.02.10 |
람다식과 함수형 프로그래밍 (Java 8.0 이상) (0) | 2017.02.09 |
자바 기본 정리 (0) | 2017.02.09 |