본문 바로가기

내일배움캠프_TIL

10월 24일 TIL

싱글톤(singleton)

객체의 인스턴스가 하나만 생성되도록 제한하는 디자인 패턴

게임매니저 등의 인스턴스를 어플리케이션 내에서 하나만 생성하고 해당 인스턴스를 전역적으로 접근하는 메커니즘

 

싱글톤 사용 목적은 리소스 절약과 전역상태 관리에 있다

public class Singleton
{
    // 인스턴스를 저장할 정적 변수
    private static Singleton instance;

    // 다른 클래스에서 인스턴스 생성을 막기 위한 private 생성자
    private Singleton() { }

    // 인스턴스에 접근하기 위한 메서드
    public static Singleton GetInstance()
    {
        // 인스턴스가 없을 경우에만 생성
        if (instance == null)
        {
            instance = new Singleton();
        }
        return instance;
    }

    // 싱글턴 클래스의 다른 메서드 및 속성 정의
    public void SomeMethod()
    {
        // 메서드 내용
    }
}

Singleton 클래스를 정의하고 인스턴스를 저장할 instance를 사용한다

처음 호출시에만 인스턴스가 생성되고 이후에는 이미 생성된 인스턴스를 반환하여 인스턴스가 추가 생성되지 않는다

 

싱글턴의 특징

  1. 단일 인스턴스 : 하나의 유일한 인스턴스만 가진다
  2. 전역 접근 : 어플리케이션 내에서 어디든 해당 인스턴스에만 접근할 수 있도록 한다
  3. 지연 로딩 : 인스턴스가 필요한 시점에서 생성하도록 지원
  4. 스레드 안정성 : 멀티스레드 환경에서도 안전하게 인스턴스를 생성 및 접근 가능하도록 설계

'내일배움캠프_TIL' 카테고리의 다른 글

10월 27일 TIL  (0) 2023.10.27
10월 25일 TIL  (0) 2023.10.26
10월 20일 TIL  (0) 2023.10.20
10월 18일 TIL  (1) 2023.10.18
10월 17일 TIL  (0) 2023.10.17