Dev Book Review/Effective Java 3판
2021. 9. 21.
[EffectiveJava] Item3. private 생성자나 열거 타입으로 싱글턴임을 보증하라
1. 싱글턴 패턴이란 인스턴스를 오직 하나만 생성할 수 있는 클래스! 무상태(stateless) 객체 설계상 유일해야 하는 시스템 컴포넌트 Database Connection Pool ... 위에서 든 예시 외에도 다양한 곳에서 활용된다. 1) 싱글턴 패턴을 사용하는 이유 - 고정된 메모리 영역을 얻으면서, 한번의 new로 인스턴스를 사용하기 때문에 메모리 낭비를 방지할 수 있다. - 싱글턴 클래스의 인스턴스는 전역 객체이기 때문에, 다른 클래스들이 데이터를 공유하기 쉽다. - 인스턴스가 절대적으로 1개만 존재하는 걸 보장하고 싶을 때 사용한다. 2) 싱글턴 패턴의 단점 클래스를 싱글턴으로 만들면, 이를 사용하는 클라이언트를 테스트하기가 어려워질 수 있다. 왜냐하면! 타입을 인터페이스로 만든 다음, 해당..