게으른 개발자의 끄적거림

싱글톤 패턴(Singleton Pattern)이란?

끄적잉 2024. 1. 2. 22:16
728x90

싱글톤 패턴(Singleton Pattern)은 디자인 패턴 중 하나로, 어떤 클래스가 최대 한 번의 인스턴스만을 가지고 이를 전역적으로 제공하고자 할 때 사용됩니다. 이 패턴을 사용하면 클래스의 인스턴스가 한 번만 생성되고, 이후에는 이미 생성된 인스턴스를 반환하게 됩니다.

Java에서 싱글톤 패턴을 구현하는 방법에 대해 간단한 예제를 통해 설명하겠습니다.

 


public class Singleton {
    // 1. private static 변수로 유일한 인스턴스를 갖도록 함
    private static Singleton instance;

    // 2. private 생성자를 통해 외부에서의 직접적인 인스턴스 생성을 막음
    private Singleton() {
        // 초기화 코드
    }

 

 


    // 3. 외부에서 인스턴스에 접근할 수 있는 public static 메서드를 제공하여 인스턴스를 반환
    public static Singleton getInstance() {
        // 인스턴스가 없을 경우에만 인스턴스를 생성
        if (instance == null) {
            instance = new Singleton();
        }
        // 이미 인스턴스가 존재하는 경우 해당 인스턴스 반환
        return instance;
    }

    // 다른 메서드나 속성을 추가할 수 있음
}


위의 코드에서 주요 포인트는 다음과 같습니다:

1. **private static 변수로 유일한 인스턴스를 갖도록 함:** 클래스 내부에서 유일한 인스턴스를 가지기 위해 private static 변수 `instance`를 선언합니다.

2. **private 생성자를 통해 외부에서의 직접적인 인스턴스 생성을 막음:** 생성자를 private으로 선언하여 외부에서 직접적으로 인스턴스를 생성하는 것을 막습니다.

3. **외부에서 인스턴스에 접근할 수 있는 public static 메서드를 제공하여 인스턴스를 반환:** `getInstance` 메서드를 통해 외부에서 유일한 인스턴스에 접근할 수 있도록 합니다. 이 메서드 내에서 인스턴스가 없는 경우에만 인스턴스를 생성하고, 이미 생성된 경우에는 기존 인스턴스를 반환합니다.

이렇게 하면 어떤 코드에서도 `Singleton.getInstance()`를 통해 유일한 인스턴스에 접근할 수 있습니다.

728x90

'게으른 개발자의 끄적거림' 카테고리의 다른 글

private static 쓰는 경우  (0) 2024.01.03
Java static이란? static변수 설명  (0) 2024.01.02
Java 업로드 (.pdf .jpg .zip)  (0) 2023.12.28
Java EE란?  (0) 2023.12.27
JEUS란?? JEUS 설명  (0) 2023.12.26