자바의 "정적 초기화 블럭" 또는 "정적 초기화 블록(Static Initialization Block)"은 클래스가 처음으로 로드될 때 실행되는 코드 블록입니다. 이 블록은 클래스 변수를 초기화하거나 복잡한 초기화 작업을 수행하는 데 사용됩니다.
정적 초기화 블록의 특징
- 정적 초기화 블록은 클래스 내부에 선언되며, 클래스가 처음으로 로드될 때 한 번 실행됩니다.
- 클래스 변수를 초기화하는 데 주로 사용되며, 클래스 변수는 모든 객체에 대해 공유됩니다.
- 클래스 내부에 여러 개의 정적 초기화 블록을 선언할 수 있습니다.
- 정적 초기화 블록은 클래스 로드 시에 실행되므로 클래스가 로드될 때 초기화 작업을 수행할 수 있습니다.
정적 초기화 블록의 사용 예제
public class MyClass {
static int y; // 클래스 변수
static {
// 정적 초기화 블록
y = 20; // y 변수를 초기화
System.out.println("정적 초기화 블록 실행");
}
public static void main(String[] args) {
System.out.println("y = " + y);
}
}
위의 예제에서 MyClass 클래스에는 클래스 변수 y가 있으며, 이 변수를 정적 초기화 블록을 사용하여 초기화합니다. 클래스가 로드될 때 정적 초기화 블록이 실행되므로 클래스 변수 y는 클래스 로드 시 초기화됩니다.
출력은 다음과 같을 것입니다
정적 초기화 블록 실행
y = 20
정적 초기화 블록은 클래스 로드 시에 한 번 실행되므로 주로 클래스 변수를 초기화하는 데 사용됩니다. 클래스 변수를 초기화하거나 다른 클래스 수준의 초기화 작업을 수행하려는 경우에 유용합니다.
With ChatGPT
'JAVA > 포스팅' 카테고리의 다른 글
자바 상속의 정의 (0) | 2023.11.10 |
---|---|
자바 더블 블럭 초기화 (Double-Brace Initialization) (0) | 2023.11.09 |
자바 인스턴스 초기화 블럭 (Instance Initialization Block) (0) | 2023.11.09 |
자바 초기화 블럭(initialization block) (0) | 2023.11.09 |
자바 자동 초기화 (Automatic Initialization) (0) | 2023.11.09 |