IT/디자인패턴

싱글톤 패턴 (Singleton Pattern)

바다, 2017. 12. 15. 16:04
반응형

싱글톤 패턴(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