상세 컨텐츠

본문 제목

[싱글톤 패턴] Singleton Pattern

Spring/디자인패턴

by Chan.94 2021. 10. 13. 20:56

본문

반응형

싱글톤이란 애플리케이션이 시작될 때 어떤 클래스가 최초 한번만 메모리를 할당하여 그 메모리에 인스턴스를 만들어 사용하는 디자인 패턴이다. 이로 인해 얻을 수 있는 장점은, 고정된 하나의 메모리를 사용하기 때문에 쓸데없이 같은 일을 하는 여러개의 객체가 메모리를 사용하여 낭비가 일어나는 것을 방지할 수 있다.

Singleton Pattern

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에서 많이 사용되며, 어떤식으로 구현하는지 정도로 알아두면 될 것 같다.

반응형

관련글 더보기

댓글 영역

>