📚 들어가기
📌 싱글톤 패턴
인스턴스가 오직 하나만 존재하도록 보장하는 디자인 패턴
보통은 생성자를 private으로 선언하고, 정적 메서드를 사용하여 유일한 인스턴스에 집근할 수 있도록 한다
📌 이해하기 쉽게 비유해보기
한대의 커피 머신이 있는데, 이 머신은 모든 사람에게 동일한 커피를 제공한다 여러 사람이 커피를 원할 떄마다 새로운 커피 머신을 구입하는 것은 비효율적이다 한 대의 커피 머신을 공유하고, 모두가 이 커피 머신을 사용하여 필요한 커피를 추출할 수 있다
커피 머신은 싱글톤 객체이고, 각 사용자는 이 객체에 대한 요청을 하게 된다 커피 머신이 항상 같은 객체를 반환하므로, 모든 사용자가 동일한 상태를 공유하고, 객체 생성 및 리소스 사용을 최적화 할 수 있다
👨🏻💻 코딩해보기
📌 싱글톤 패턴 예제
public class Singleton {
// 정적 멤버 변수로 유일한 인스턴스를 저장합니다.
private static Singleton instance = new Singleton();
// private 생성자로 외부에서의 인스턴스 생성을 막습니다.
private Singleton() {
}
// 유일한 인스턴스에 접근할 수 있는 정적 메서드를 제공합니다.
public static Singleton getInstance() {
// 인스턴스가 아직 생성되지 않았다면 생성합니다.
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
📌 싱글톤 클래스 사용
public class Main {
public static void main(String[] args) {
// Singleton 클래스의 유일한 인스턴스를 얻습니다.
Singleton singleton1 = Singleton.getInstance();
Singleton singleton2 = Singleton.getInstance();
// 두 인스턴스가 동일한지 확인합니다.
System.out.println("singleton1과 singleton2는 동일한 객체입니까? " + (singleton1 == singleton2));
}
}
'Java' 카테고리의 다른 글
[JAVA] Oracle DB Java 연결하기 (0) | 2024.04.16 |
---|---|
[JAVA] 소켓 프로그래밍 (Socket) (0) | 2024.03.28 |
[JAVA] 스트림 (Stream) (0) | 2024.03.27 |