Singleton Pattern
개요
- 객체가 생성되는 최대 개수를 제한하는 방법
- 적용방법
> 생성자를 Private로 만들어서 Client에서 직접 생성하지 못하도록 함
> getInstance() 메서드를 통해서만 생성이 가능하도록 함
구현방법
public class main {
public static void main(String[] args) {
KFC kfc = KFC.getMe("Lee");
kfc.status();
KFC kf2 = KFC.getMe("Kim");
kf2.status();
}
}
class KFC {
static KFC kfc;
private static String KFCname;
private KFC() { }; // [1] KFC k = new KFC() 로 불러서 쓰지 못하도록 함
public static KFC getMe(String name) {
if (kfc == null) { // [2] 없는 경우에만 사용 (Singleton)
kfc = new KFC();
KFCname = name;
}
return kfc;
}
public void status() {
System.out.println("Name = "+KFCname);
}
}
- [1] Client에서 직접 불러서 생성하지 못하도록 private로 선언
- [2] Instance가 없는 경우에만 생성하도록 추가, 있는 경우에는 기존에 생성한 Instance 사용
'Software Architect' 카테고리의 다른 글
[Design Pattern] Adapter Pattern (0) | 2022.03.24 |
---|---|
[Design Pattern] Facade Pattern (0) | 2022.03.24 |
[Design Pattern] Builder Pattern (0) | 2022.03.24 |
[Design Pattern] Factory Method Pattern (0) | 2022.03.24 |
[Design Pattern] GoF Design Pattern 개요 (0) | 2022.03.24 |