Study/이펙티브 자바
[Effective Java 3E] private 생성자나 열거 타입으로 싱글턴임을 보증하라
💥 개요 싱글턴이란 인스턴스를 오직 하나만 생성할 수 있는 클래스를 말합니다. 싱글턴의 전형적인 예시로 함수와 같은 무상태성(stateless) 객체나 설계상 유일해야 하는 시스템 컴포넌트를 들 수 있습니다. 그런데 클래스를 싱글턴으로 만들면 사용하는 클라이언트를 테스트하기가 어려워 질 수 있습니다. 타입을 인터페이스로 정의한 다음 그 인터페이스를 구현해서 만든 싱글턴이 아니라면 싱글턴 인스턴스를 mocking 할 수 없기 때문입니다. 💡싱글턴을 만드는 방식 우선 생성자를 private으로 감춰두고, 유일한 인스턴스에 접근할 수 있는 수단으로 public static 멤버를 하나 마련해둡니다. 1. public static 멤버가 final 필드인 방식 private 생성자는 public static 필..
2023. 8. 13. 04:20