작성
·
660
2
답변 2
3
보통 "지연 초기화"는 클래스로딩 시점에 만드는게 아니라, 처음 해당 인스턴스를 요청할 때, 그 때 만들어 지는 걸 말하는데요. 말씀하신대로, enum은 클래스로딩 시점에 만들어지니까 지연 초기화가 아니라고 말씀드린겁니다. 하지만, 사실상 해당 enum을 클래스로딩만 하고 구체적인 타입을 쓰지 않는 경우(예, EnumSet.allOf(Difficulty.class);) 는 거의 없으니까, 크게 고민하지 않아도 되는 단점입니다.
사실 지연 초기화를 장점으로 취급하려면 그만큼 무거운 객체여야 하는데, 대부분의 경우에는 지연 초기화 기법이 필요 없는 경우가 많으니 그 점에 대해서 그렇게 크게 신경쓰지 않으셔도 됩니다.
0