공부,개발 팁

싱글톤

최지로 2019. 10. 2. 13:37

6.싱글턴(싱글톤) : 인스턴스(객체)가 단 하나만 존재하는 타입을 싱글턴 클래스라고 한다 
특정 클래스의 인스턴스를 의도적으로 단 한개만 만들고 싶은 경우 클래스 밖에서

해당 클래스의 인스턴스를 만들지 못하게 생성자를 private로 명시하고
단 하나의 인스턴스만 클래스 내부에서 미리 생성해 두는 것

 

class Abc
{
    static public Abc abc = new Abc("대통령");//정적필드
    string _name;
    
    private Abc(string name) //private 인스턴스 생성자
    {
        _name = name;
    }

    public void abc1()// public 인스턴스 메서드
    {
        Console.WriteLine(_name);
    }
}
class Abc1
{
    static void Main(string[] atgs)
    {
        //Abc abc1 = new Abc("대통령"); // 생성자가 private이므로 접근불가라 오류발생
        Abc.abc.abc1();//정적 필드로 단일 인스턴스 접근

        Console.WriteLine();
    }
}