티스토리 뷰

또 자바 문법 정리이다....

체스게임을 만들어야지 생각한지 한 4일 정도 지났는데, 인터페이스 개념부터 시작해서 계속 문법 공부만 하고 있는거 같다.......

 

이번 포스팅에서 정리할 내용은 다음과 같다.

"정적 초기화 블록", "인스턴스 초기화 블록" 이다.

먼저 정적 초기화 블록부터 정리해보자.

 

정적 초기화 블록(Static Initialization Block) 이란?

클래스가 처음 메모리에 로드될 때 단 한 번 실행되는 코드 블록 

static { ~~~~ }

-  이렇게 쓴다.

- 클래스가 JVM에 의해 로드될 때, 즉 프로그램이 시작할 때 1번 실행된다.

- 언제 사용하냐??

→ static 필드 값을 복잡한 계산이나 파일 읽기, DB 연결 같은 초기화가 필요할 때 쓰기 좋다고 한다.

작성한 순서대로 실행된다.

 

바로 예제를 통해서 이해해보도록 하자.

public class Example {
    static int num;

    // 정적 초기화 블록
    static {
        System.out.println("static 블록 실행!");
        num = 100;
    }

    public static void main(String[] args) {
        System.out.println("num = " + num);
    }
}


--------------
// static 블록 실행!
// num = 100

 

뭐, 어려운 개념은 아니어서 이정도만 적겠다.

 

 

다음은 인스턴스 초기화 블록이다.

인스턴스 초기화 블록(Instance Initialization Block) 이란??

객체가 new로 생성될 때마다 실행되는 블록이다. 

- 생성자가 호출되기 직전에 실행된다.

- 여러 생성자가 있을 때, 공통된 초기화 로직을 넣어두면 코드 중복을 줄일 수 있다.

 

예제로 이해하자....!

 

public class Example {
    int value;

    // 인스턴스 초기화 블록
    {
        System.out.println("인스턴스 초기화 블록 실행!");
        value = 10;
    }

    public Example() {
        System.out.println("생성자 실행!");
    }

    public static void main(String[] args) {
        Example e1 = new Example();
    }
}

-------------
// 인스턴스 초기화 블록 실행!
// 생성자 실행!

 

 

-------------------------

( 잠시 python 모드 )

---------------------------

| for i in range(100) : 

|   print("힘들다!")      

---------------------------

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2026/04   »
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
글 보관함