싱글톤이란 애플리케이션이 시작될 때 어떤 클래스가 최초 한번만 메모리를 할당하여 그 메모리에 인스턴스를 만들어 사용하는 디자인 패턴이다. 이로 인해 얻을 수 있는 장점은, 고정된 하나의 메모리를 사용하기 때문에 쓸데없이 같은 일을 하는 여러개의 객체가 메모리를 사용하여 낭비가 일어나는 것을 방지할 수 있다.
JAVA
public class ExampleClass {
//Instance
private static ExampleClass instance;
//private construct
private ExampleClass() {}
public static ExampleClass getInstance() {
if(instance == null){
instance = new ExampleClass();
}
return instance;
}
}
위 코드에서는 instance라는 전역 변수를 선언하는데 static을 줌으로써 인스턴스화 하지 않고 사용할 수 있게 하였지만 접근 제한자가 private 로 되어 있어 직접적인 접근은 불가능하다. 또한 생성자도 private으로 되어 있어 new 를 통한 객체 생성도 불가능하다. 결국 getInstance 메서드를 통해서 해당 인스턴스를 얻을 수 있게 된다.
싱글톤 패턴은 Spring framework에서 많이 사용되며, 어떤식으로 구현하는지 정도로 알아두면 될 것 같다.
퍼사드(Facade) 패턴 (0) | 2024.11.12 |
---|---|
옵저버패턴(Observer Pattern) (0) | 2022.08.15 |
팩토리 패턴 (팩토리 메서드 패턴, 추상 팩토리 패턴) (0) | 2021.12.09 |
디자인 패턴 정리 (2) | 2021.10.15 |
프록시 패턴(Proxy Pattern) (1) | 2021.10.09 |
댓글 영역