반응형
싱글톤 패턴(Singleton Pattern) 이란
- 하나의 객체만을 생성하고, 그 객체를 사용하도록 하는 것이다.
다른 객체에서 해당 객체를 추가로 만들지 못하도록 한다.
=> 생성자 private
객체가 생성될 때 Heap 영역에 올라가는 시간과 메모리를 줄일 수 있다.
객체를 생성하면 그 클래스의 인스턴스는 Heap 메모리에 올라가고 그 인스턴스를 가리키고 있는 변수는 Stack 메모리 영역에 생기게 된다.
기본적인 싱글톤의 형태
public class Singletone {
private static Singletone singletone;
private Singletone() {
}
public static Singletone getInstance() {
if (singletone == null) {
singletone = new Singletone();
}
return singletone;
}
}
위와 같은 코드는 멀티쓰레드 환경에서 객체가 2개가 생성될 수도 있다.
이를 막기 위해 객체를 처음부터 만드는 방법과 DCL (Double Checked Locking) 방법을 쓸 수가 있다.
반응형
'IT > 디자인패턴' 카테고리의 다른 글
SPA / MPA 이란, 장단점 (0) | 2021.06.01 |
---|