자바의 경우
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);
}
이렇게 처음에 해시맵에 기본으로 데이터가 존재해야하는 경우에
사용할 수 있다.
이렇게 초기화를 미리 해두어야 하는데, 초기화 방식이 복잡한 상황에서 사용할 수 있다.