싱글톤(Singleton) 패턴
소프트웨어 디자인 패턴 중 하나로, 특정 클래스의 인스턴스를 단 하나만 생성하고,
그 인스턴스에 대한 전역적인 접근점을 제공하는 방식이다.
싱글톤 패턴 특징
- 특정 클래스의 인스턴스가 실행 중 하나만 생성되도록 보장
- 전역적으로 접근할 수 있도록 인스턴스의 참조를 제공한다
- 클래스 외부에서 객체를 직접 생성할 수 없도록 제어한다
싱글톤 패턴을 사용하는 이유
- 객체를 여러 번 생성하지 않고, 필요한 경우 동일한 인스턴스를 재사용하므로 메모리와 자원을 절약한다
- 여러 클래스나 모듈에서 데이터를 공유하거나 조작할 때 사용한다
- 전역적으로 공유되는 인스턴스를 통해 애플리케이션의 일관성을 유지
public class Singleton { private static Singleton instance; // 유일한 인스턴스를 저장할 변수
// private 생성자: 외부에서 객체 생성 불가
private Singleton() {} // 유일한 인스턴스를 반환하는 메서드
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton(); // 인스턴스가 없으면 생성
}
return instance;
}
}