싱글톤 패턴
- 생성자를 private 접근 제한해서 외부에서 new 연산자로 생성자를 호출할 수 없도록 막아서 외부에서 마음대로 객체를 생성하지 못하게 함
- 대신 싱글톤 패턴이 제공하는 정적 메소드를 통해 간접적으로 객체를 얻을 수 있음
출처, 이것이 자바다
package ch06.sec15;
/*
* 클래스 디자인 패턴중 싱글톤 패턴 예제
*
* 클래스로 하나의 객체만 생성하여 사용하는 특징.
*/
public class Singleton {
private static Singleton singleton = new Singleton();
private Singleton() {
}
public static Singleton getInstance() {
return singleton;
}
}
package ch06.sec15;
public class SingletonExample {
public static void main(String[] args) {
// Singleton obj1 = new Singleton(); //객체생성불가 이유? 생성자가 private이기 때문
//객체를 생성하는 것이 아니라 생성된 객체를 참조
Singleton obj1 = Singleton.getInstance();
Singleton obj2 = Singleton.getInstance();
if(obj1 == obj2) {
System.out.println("같은 Singleton 객체입니다.");
}else {
System.out.println("다른 Singleton 객체입니다.");
}
}
}
'객체 지향 프로그래밍 - 클래스' 카테고리의 다른 글
Getter와 Setter (0) | 2023.01.17 |
---|---|
접근 제한자 (0) | 2023.01.17 |
패키지 (0) | 2023.01.17 |
final 필드와 상수 (0) | 2023.01.16 |
정적 멤버 (0) | 2023.01.16 |