디자인 패턴 ~Singleton~

1. 소개



GoF의 디자인 패턴에서 Singleton 패턴을 요약합니다.

2. Singleton 패턴이란?


  • Singleton이란, 요소를 1 개 밖에 가지지 않는 집합이라고 하는 의미가 됩니다.
  • Singleton 패턴은 인스턴스가 하나만 존재하는지 확인하는 방법입니다.
  • 예를 들면, 시스템 설정을 표현한 클래스, 윈도우 시스템을 표현한 클래스등을 들 수 있습니다.
  • GoF 디자인 패턴은 생성과 관련된 디자인 패턴으로 분류됩니다.

  • 3. 샘플 클래스 다이어그램





    4. 샘플 프로그램



    싱글 톤 인스턴스를 생성하는 프로그램입니다.

    4-1. Singleton 클래스



    유일한 인스턴스를 반환하는 클래스입니다.
    Singleton 클래스의 생성자는 private 입니다. 이는 Singleton 클래스 외부에서 생성자를 호출하는 것을 금지하기 때문입니다.

    Singleton.cs
    public class Singleton {
    
        private static Singleton singleton = new Singleton();
    
        private Singleton() {
            System.out.println("インスタンスを生成しました。");
        }
    
        public static Singleton getInstance() {
            return singleton;
        }
    }
    

    4-2. Main 클래스



    메인 처리를 실시하는 클래스입니다.

    Main.cs
    public class Main {
        public static void main(String[] args) {
            Singleton obj1 = Singleton.getInstance();
            Singleton obj2 = Singleton.getInstance();
            if (obj1 == obj2) {
                System.out.println("obj1とobj2は同じインスタンスです。");
            } else {
                System.out.println("obj1とobj2は同じインスタンスではありません。");
            }
        }
    }
    

    4-3. 실행 결과


    インスタンスを生成しました。
    obj1とobj2は同じインスタンスです。
    

    5. 장점



    Singleton 패턴은 인스턴스 수에 제한을 둡니다.
    인스턴스가 여러 개 존재하면 인스턴스가 서로 영향을 미치고 예상치 못한 버그를 만들 수 있습니다.
    그러나 인스턴스가 하나만 있다는 보장이 있다면 전제 조건으로 프로그래밍할 수 있습니다.

    6. GitHub


  • htps : // 기주 b. 코 m / 이타나카 730 /

  • 7. 디자인 패턴 목록


  • GoF 디자인 패턴 요약

  • 8. 참고



    이번 기사 및 샘플 프로그램은 이하의 서적을 바탕으로 작성하였습니다.
  • Java 언어로 배우는 디자인 패턴 입문

  • 매우 이해하기 쉽고 공부가되었습니다. 감사합니다.
    디자인 패턴이나 샘플 프로그램에 대한 설명이 상세하게 쓰여져 있으므로, 꼭 서적의 분도 봐 주세요.

    좋은 웹페이지 즐겨찾기