Singleton

GamSa Ham·2022년 10월 14일
0

GoF디자인패턴

목록 보기
3/22
post-thumbnail

단일체

특징 :
한 개의 클래스 인스턴스만을 갖도록 보장하고 이에 대한 전역적인 접근점을 제공

클래스에서 자신의 유일한 인스턴스로 접근하는 방법을 자체적으로 관리

  • 다른 인스턴스가 생성되지 않도록 방지
  • 클래스 스스로 인스턴스에 대한 접근 방법 제공

유일한 인스턴스는 서브클래싱으로 확장되어야 하며 코드 수정 없이 확장된 서브클래스의 인스턴스 사용할 수 있어야 할 때 사용

방법 :
사용자는 Singleton 클래스에 정의된 Instance() 연산을 통해 유일하게 생성되는 단일체 인스턴스에 접근할 수 있음

싱글 턴 패턴의 단점을 스레드상에 동시 객체가 생기는 것을 방지 하기위해서
더블 체키드 라킹 기법이 있고

간단히 inner 클래스 상에서 구현하는 lazy 기법이 있다.

profile
안녕하세요. 자바를 좋아하고 디자인 패턴, Refactoring, Clean Code에 관심이 많은 백엔드 개발자입니다.

0개의 댓글