본문 바로가기
프로그래밍/C#

싱글톤 디자인 패턴

by Roland 2025. 3. 22.

싱글톤 패턴 (Singleton Pattern)은 어떤 클래스의 인스턴스가 하나만 생성되도록 보장하는 디자인 패턴이다.

전역적으로 접근할 수 있는 유일한 객체를 제공하여 메모리 낭비를 방지하고, 데이터의 일관성을 유지하는데 사용된다.

 

특징 : 하나의 인스턴스만 존재, 전역 접근 가능 , 메모리 절약 

 

효과 : 리소스 절약 , 상태 유지 , 동기화 문제 해결 

 

public class Singleton {
    private static volatile Singleton instance;

    private Singleton() {}

    public static Singleton getInstance() {
        if (instance == null) { // 첫 번째 체크
            synchronized (Singleton.class) {
                if (instance == null) { // 두 번째 체크
                    instance = new Singleton();
                }
            }
        }
        return instance;
    }
}

장점  : 

메모리 절약 

일관된 데이터 관리 

전역 접근 가능

 

단점 : 테스트가 어렵다

          멀티스레드 환경에서 주의

          의존성 주입과 충돌기능

 

'프로그래밍 > C#' 카테고리의 다른 글

[C#] 깊은 복사 vs 얕은 복사  (0) 2024.11.26
C# Property/Getter / Setter  (0) 2021.11.24

댓글