이 글은 PC 버전 TISTORY에 최적화 되어있습니다.
이론
이전에 JAVA에서의 Static에 대해서 다뤘었습니다. C#도 같은 방식으로 통하니 Static에 대해 잘 모르신다면 먼저 보고 와주세요. 그럼 Static으로 어떻게 클래스 인스턴스를 의도적으로 한 개만 만들게 할 수 있을까요? 바로 생성자를 private로 선언하여 외부에서 new로 생성하지 못하게 하는 것 입니다.
실행코드
class Car { static public Car bumblebee = new Car("범블비"); // public 정적 필드 string _model; private Car(String model) { _model = model; } public void InformModel() { Console.WriteLine(_mode); } }
위와 같이 생성자를 private 한정자로 만들어두면 외부에서는 new로 생성할 수 없습니다. 하지만 정적 필드에 이미 생성해두었기 때문에 Car.InformModel() 같은 방법으로 접근이 가능합니다. 이렇게 하나의 인스턴스만 생성되는 클래스를 싱글턴 클래스라고 합니다.
반응형
'Basic > C#' 카테고리의 다른 글
[c#] async / await 사용 예시 (0) | 2019.03.27 |
---|---|
[C#] CS0120: non-static field 에러 (0) | 2019.03.19 |
[C#] TCP/IP 프로토콜과 소켓 프로그래밍 (18) | 2019.03.18 |