[Java] 초기화 블록을 사용하는 이유

hwhyeons·2023년 2월 1일
0

자바의 경우

public class Test {
    static int a = 30;
    static int b;

    static {
        b = 10;
    }

    public static void main(String[] args) throws Exception {
        System.out.println(a);
        System.out.println(b);
    }
}

이렇게, a처럼 바로 초기화를 할 수도 있고, b처럼 초기화 블록을

이용해서 초기화를 해줄 수 있다.

근데 어차피 처음에 초기화 해줄거면 a처럼 초기화 해주면 되는데

왜 굳이 저런 초기화 블록이 존재하나 의문이 생겼지만,

초기화 하는 방식 자체가 복잡한 경우, 이렇게 해야 된다는 것을 알았다.




예시

    static HashMap<Integer,Integer> map;

    static {
    	map = new HashMap<>();
        map.put(1,2);
        map.put(3,4);
    }

이렇게 처음에 해시맵에 기본으로 데이터가 존재해야하는 경우에

사용할 수 있다.




이렇게 초기화를 미리 해두어야 하는데, 초기화 방식이 복잡한 상황에서 사용할 수 있다.

0개의 댓글