C++에서는 멤버변수들을 priavte으로 두고 사용을 하고싶으면 Get / Set 함수를 직접 구현해야한다.
C#에서는 Get / Set을 자동으로 구현해주는데
public bool Level1 { get; set; }
이런식으로 하면 자동으로 get, set을 구현해준다.
public bool Level1 { get; }
이렇게하면 쉽게 Read Only Data로 선언할 수 있다.
public bool Level1 { set; }
이렇게하면 쉽게 Write Only Data로 선언할 수 있다.
(get이나 set 하나만 구현하는 기능은 C# 6버전 이상부터 가능하다.
즉 오래된 unity의 경우 사용이 불가능한 문법이다.)
근데 public인데 get set이 의미가 있나 싶기도하고
그렇다고 private bool Level1 { get; set; } 이런식으로 하게되면
get, set도 같이 private이 되게때문에 외부에서 사용할 수 없다.
그래서 get / set 함수에도 private선언을 할수있다.
public bool Level1 { get; private set; }
으로 하면 외부에서 set은 못하지만 get은 할 수 있으며
public bool Level1 { private get; set; }
으로 하면 외부에서 get은 못하지만 set은 할 수 있다.
'Language > C#' 카테고리의 다른 글
Dictionary (0) | 2019.02.27 |
---|---|
ref, out, Tryparse Keyword (0) | 2019.02.26 |
is, as Keyworkd (0) | 2019.02.26 |
GC / SGen (0) | 2019.02.25 |
CLR / CLI / JIT / AOT (0) | 2019.02.25 |