
[이펙티브 자바] 아이템3 - private 생성자나 열거 타입으로 싱글턴임을 보증하라
·
☕JAVA/이펙티브 자바
Singleton 패턴 싱글턴 패턴은 인스턴스를 오직 하나만 생성할 수 있는 클래스를 말한다. 주로 무상태 객체나 설계상 유일해야 하는 시스템 컴포넌트에 사용되는 방식이다. 싱글턴 패턴을 사용할 때 주의할 점은 인터페이스로 정의하지 않은 싱글턴은 테스트에서 대체할 수 없다는 것이다. 싱글턴 클래스는 하나의 인스턴스를 생성하고 이를 재사용하는 방식으로 동작한다. 이로 인해 테스트 시 해당 객체를 가짜(Mock) 구현체나 다른 인스턴스로 교체할 수 있는 방법이 없어서 유연한 테스트가 어려워진다. Singleton을 사용하는 방식 이러한 싱글턴을 만드는 방식은 크게 두가지가 있다. 아래에서 살펴보자. 필드방식public class Elvis { public static final Elvis INSTA..