1. 싱글톤 패턴 (Singleton)
설명
싱글톤 패턴은 하나의 클래스가 단 하나의 인스턴스만을 생성하고 전역에서 접근 가능한 패턴이다.
하나의 인스턴스만을 생성하니 생성자는 private 으로 되어 있고 객체 생성을 클래스 내부에서 담당한다.
이렇게 생성된 객체는 클래스의 static 메소드를 통해 반환되고 항상 같은 객체에 접근하게 된다.
UML 다이어그램
사용목적
1. 프로그램에서 단 하나의 객체만을 필요로 할 때 쓰인다.
2. 클래스를 인스턴스화 하면 Heap 메모리 영역에 올라가는데 객체를 생성하는 빈도수가 높을경우
하나의 객체만을 생성하여 관리 하면 메모리와 성능을 얻을 수 있음.
구현
class Singleton
{
private static Singleton _instance;
private Singleton() { }
public static Singleton Instance()
{
if (_instance == null)
{
_instance = new Singleton();
}
return _instance;
}
}
단점
1. 여러 객체에 멤버 변수를 공유해도 문제가 없어야 함
2. 단 하나의 객체를 생성하는 패턴이라 스레드에 안전해야 하며 제대로 조치를 하지 않을경우 스레드 문제가 발생할 수 있음
3. 객체간에 의존성이 높아진다.