enum1 [Java] Enum이 철벽치는 방법 들어가기 전에Effective Java 스터디를 진행하다가 [Item 3]. private 생성자나 열거 타입으로 싱글턴임을 보증하라에서 아래의 내용이 나왔다.싱글턴을 만드는 세 번째 방법은 원소가 하나인 열거 타입을 선언하는 것이다.public 필드 방식과 비슷하지만, 더 간결하고, 추가 노력 없이 직렬화할 수 있고, 심지어 아주 복잡한 직렬화 상황이나 리플렉션 공격에서도 제2의 인스턴스가 생기는 일을 완벽히 막아준다.출처 : Effective Java 3/E 해당 아이템을 담당한 발표자가 "왜 열거 타입이 리플렉션 공격으로부터 안전하다는 걸까요?"라는 질문을 던졌고 그에 대한 답변으로 자바는 열거 타입의 구조를 변경할 수 없게끔 리플렉션을 제한하기 때문이라는 설명을 들었다. 리플렉션은 런타임 시점에.. 2024. 11. 15. 이전 1 다음