하나씩 일어나는 것

싱글톤이란?

싱글톤 클래스에는 단일 핸들을 통해 전역적으로 액세스할 수 있는 인스턴스가 하나만 있습니다.

(메서드/필드를 통해)

Singleton 클래스에는 단일 지점에서 전역적으로 액세스할 수 있는 인스턴스가 있습니다.

* 메소드나 필드에 대한 포인트 ==>

이 패턴이 해결하는 주요 문제는 이 클래스의 인스턴스가 하나만 있는지 확인하는 것입니다.

이 패턴의 주요 문제는 이 클래스의 인스턴스가 하나만 있는지 확인하는 것입니다.

싱글톤에 추가하는 모든 상태는 애플리케이션의 “글로벌 상태”의 일부가 됩니다.

Singleton 클래스의 인스턴스 상태는 전역적으로 공유됩니다.

싱글톤 구현

인스턴스 생성 제어

클래스 생성자는 전역적으로 액세스할 수 없어야 합니다.

클래스 생성자는 전역적으로 액세스할 수 없어야 합니다.

서브클래싱/상속이 허용되지 않아야 합니다.

하위 클래스는 인스턴스화할 수 없습니다.

인스턴스를 주시하십시오

클래스 자체는 추적하기에 좋은 장소입니다. 그만큼 예.

인스턴스 추적에 적합합니다.

싱글톤 인스턴스에 대한 액세스 권한 부여

공용 정적 메서드는 좋은 선택입니다.

Singleton 인스턴스에 액세스할 때 공용 정적 메서드를 사용하는 것이 좋습니다.

인스턴스를 마지막 공개 정적 필드로 노출할 수 있지만 모든 싱글톤 구현에서는 작동하지 않습니다.

최종 공개 정적 필드를 사용하여 인스턴스를 노출할 수 있지만 모든 싱글톤 구현에 해당되는 것은 아닙니다.

싱글톤 구현을 위한 두 가지 옵션

초기 초기화 – 열정의 싱글톤

클래스가 로드되면 싱글톤을 생성합니다.

클래스가 로드되면 인스턴스가 생성됩니다.

지연 초기화 – 게으른 싱글톤

Singleton은 처음 필요할 때 생성됩니다.

첫 번째 인스턴스 생성 요청 시 인스턴스가 생성됩니다.