C# 클래스 인스턴스 하나만 만드는 방법

2016. 12. 14. 16:16· Basic/C#


이 글은 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
'Basic/C#' 카테고리의 다른 글
  • [c#] async / await 사용 예시
  • [C#] CS0120: non-static field 에러
  • [C#] TCP/IP 프로토콜과 소켓 프로그래밍
에반황
에반황
"어른이면서 애이기도 하고 싶다."
에반황
에반, 어른반
에반황
전체
오늘
어제
  • 전체보기 (118)
    • About (1)
    • Backend (5)
      • Django (3)
      • Spring (2)
    • Database (2)
      • 아키텍처 (0)
      • SQL (0)
      • Redis (2)
      • 코딩 테스트 (0)
      • 요구 사항 해결 (0)
    • Infra, Cloud (0)
      • AWS (0)
      • GoCD (0)
      • Docker (0)
      • Kubernetes (0)
      • Mesos Marathon (0)
    • Basic (34)
      • C (1)
      • C# (4)
      • C++ (1)
      • Java (9)
      • Javascript (6)
      • Typescript (5)
      • GO (0)
      • Python (4)
      • 프로그래밍 기초 (1)
      • 게임 디자인 패턴 (1)
      • 운영체제 (0)
      • 알고리즘 (2)
      • 자료구조 (0)
    • Computer Science (0)
    • Frontend (74)
      • Swift (1)
      • Unity (31)
      • Android (13)
      • Vue.js (2)
      • Phaser (1)
      • Cocos2D JS (2)
      • Cocos Creator (16)
      • Facebook Instant Game (8)
반응형

인기 글

최근 댓글

hELLO · Designed By 정상우.v4.2.2
에반황
C# 클래스 인스턴스 하나만 만드는 방법
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.