싱글톤 패턴(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()`를 통해 유일한 인스턴스에 접근할 수 있습니다.
'게으른 개발자의 끄적거림' 카테고리의 다른 글
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 |