정의
- 객체를 생성하는 디자인 패턴 중 하나로, 특정 클래스에 대해 오직 하나의 인스턴스만 생성되고, 이를 전역에서 접근할 수 있도록 보장한다.
핵심 원칙
- 유일한 인스턴스 보장: 싱글톤 클래스는 애플리케이션 실행 중 단 하나의 인스턴스만 생성된다.
- 지연 초기화: 필요할 때까지 인스턴스를 생성하지 않는다.
- 글로벌 접근성: 생성된 싱글톤 인스턴스는 애플리케이션 어디서든 접근할 수 있다.
장점
- 하나의 인스턴스만 사용하기 때문에 메모리와 시스템 자원을 절약한다.
- 애플리케이션 전역에서 공통된 데이터나 설정을 관리할 수 있다.
- 인스턴스 생성과 접근 방식을 제한하여, 일관된 동작을 유지한다.
단점
- 여러 클래스에서 싱글톤 인스턴스를 참조하면, 결합도가 높아질 수 있다.
- 전역 상태를 가지기 때문에 테스트가 어렵다.
'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 |