본문 바로가기

객체 지향 프로그래밍 - 클래스

싱글톤 패턴

싱글톤 패턴

  • 생성자를 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