싱글톤

디자인패턴

목록 보기
2/12

: 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴.

*클래스: 붕어빵 틀, 인스턴스: 붕어빵(실체)

  • 즉 인스턴스 생성 개수 제한(1개의 인스턴스)
  • 지정한 클래스의 인스턴스가 반드시 1개만 존재한다는 것을 보장하고 싶을 때
  • 인스턴스가 하나만 존재한다는 것을 프로그램 상에서 표현하고 싶을 때

ex) 컴퓨터 시스템 전체를 표현한 클래스, 현재 시스템 설정을 표현한 클래스, 각종 상수 등


보통 DB연결 모듈에 많이 사용.

  • 장점: 인스턴스를 공유하면서 사용하기 때문에 인스턴스를 생성할 때 드는 비용↓
  • 단점: 의존성 ↑, 단위테스트 어려움(독립적인 인스턴스를 만들기 어려우니)

✅ 구현

  • Singleton을 private static 변수로 선언
  • 생성자도 마찬가지로 private. 해당 클래스 외부에서는 생성 못하도록
  • getInstance public static 메서드 제공 -> 싱글톤 클래스의 유일한 인스턴스를 얻는 메서드 *static factory method의 일종

✅ enum을 이용한 Singleton

  • enum의 요소는 상수로서 인스턴스의 유일성 보증
profile
정리하는게 공부가 될 지 모르겠지만, 정리를 하면 마음만큼은 편해

0개의 댓글