반응형
디자인 패턴 중 하나인 싱글톤 패턴에 대해서 알아보겠습니다. 회사에서 스프링을 사용하여서 공부를 시작했습니다. 그런데 싱글톤 패턴 개념이 나와서 정리해 두려고 합니다.
싱글톤 패턴 ( Singleton Pattern )
싱글톤 패턴은 인스턴스가 오직 하나만 생성되는 것을 보장하고 프로그램 어디에서든지 이 인스턴스에 접근할 수 있도록 하는 패턴입니다.
그래서 새로운 인스턴스를 만들지 않고 기존 인스턴스를 계속 사용합니다.
구현은 아래와 같습니다.
public class SingleObject {
private static SingleObject singleObject = null;
// 외부에서 직접 생성하지 못하도록 private 선언을 합니다.
private SingleObject();
// 인스턴스 1개만 생성하게 합니다.
public static SingleObject getInstance(){
if( singleObject == null ) {
singleObject = new SingleObject();
}
return singleObject;
}
}
외부에서 객체를 생성할 수 없도록 하기 위해서 생성자를 private으로 선언합니다. 이 의미는 객체 생성 관리를 내부적으로 하겠다는 뜻입니다. 그러면 외부에서 SingleObject 객체를 생성할 수 없습니다.
이제 인스턴스를 가져오겠습니다. getInstance() 메서드를 이용해서 생성된 SingleObject 인스턴스를 가져올 수 있습니다. 그런데 static 제어자를 사용하고 있습니다. 왜냐하면, 생성자를 private으로 선언했기 때문에 객체를 생성할 수 없으니 static 제어자를 이용해서 인스턴스 없이 호출하기 위해서 입니다.
참고
- https://victorydntmd.tistory.com/293?category=719467
끝.
반응형
'IT > Others' 카테고리의 다른 글
디자인 패턴 소개 (POSA 1) (0) | 2023.01.26 |
---|---|
객체 지향 상속의 종류 : Subclassing 과 Subtyping (0) | 2022.11.26 |
전략 패턴 (0) | 2022.08.13 |
DMA (Direct Memory Access) (0) | 2022.05.11 |
DBeaver 설치 및 MariaDB와 연동 (0) | 2022.03.13 |