더북(TheBook)

 

 

싱글톤 패턴은 가장 이해하기 쉽고 잘 알려진 디자인 패턴이지만 유형에 뒤처진 패턴이기도 합니다. 심지어 싱글톤을 안티 패턴으로 여기는 사람도 더러 있지만, 스프링 같은 엔터프라이즈 프레임워크에서도 싱글톤을 많이 썼고 자바 EE 역시 우아하고 사용하기 쉬운 싱글톤 구현체를 제공합니다. 싱글톤의 필요성과 유행에 뒤처지게 된 사연을 알아보고 자바 EE 애플리케이션에서 싱글톤이 얼마나 유용한지 구현 방법과 함께 살펴보지요.

싱글톤 패턴은 GoF 책의 생성 패턴 중 하나입니다. 싱글톤 클래스는 자신과 타입이 같은 인스턴스가 단 하나만 있음을 보장합니다. 전역 범위에서 접근하거나 값비싼 리소스를 캐시할 때처럼 인스턴스를 하나만 두면 좋을 때가 있지만, 멀티스레드 환경에서 사용하면 경합 조건(race condition)이 발생할 가능성도 있습니다. 대부분의 언어에 싱글톤 생성 장치는 따로 내장되어 있지 않아서 개발자 스스로 코드를 구현해야 합니다.

자바 EE에서는 클래스에 애너테이션을 붙여 간편히 싱글톤을 만들 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.