본문 바로가기
Computer Science

[CS] Singleton Pattern

by jyc_ 2025. 1. 21.

정의

  • 객체를 생성하는 디자인 패턴 중 하나로, 특정 클래스에 대해 오직 하나의 인스턴스만 생성되고, 이를 전역에서 접근할 수 있도록 보장한다.

핵심 원칙

  • 유일한 인스턴스 보장: 싱글톤 클래스는 애플리케이션 실행 중 단 하나의 인스턴스만 생성된다.
  • 지연 초기화: 필요할 때까지 인스턴스를 생성하지 않는다.
  • 글로벌 접근성: 생성된 싱글톤 인스턴스는 애플리케이션 어디서든 접근할 수 있다.

장점

  1. 하나의 인스턴스만 사용하기 때문에 메모리와 시스템 자원을 절약한다.
  2. 애플리케이션 전역에서 공통된 데이터나 설정을 관리할 수 있다.
  3. 인스턴스 생성과 접근 방식을 제한하여, 일관된 동작을 유지한다.

단점

  1. 여러 클래스에서 싱글톤 인스턴스를 참조하면, 결합도가 높아질 수 있다.
  2. 전역 상태를 가지기 때문에 테스트가 어렵다.

'Computer Science' 카테고리의 다른 글

[CS] Persistence Context (영속성 컨텍스트)  (0) 2025.01.24
[CS] Authentication / Authorization  (0) 2025.01.21
[CS] Cookie / Session  (0) 2025.01.21
[CS] TCP 3-way handshake  (0) 2025.01.21
[CS] Synchronous / Asynchronous  (0) 2025.01.21