C++과 언리얼에 익숙해져 있던 나에게 프로퍼티는 말그대로 일종의 속성같은 것이었다. 오랜만에 C#으로 돌아와 문법을 되새기려니 프로퍼티의 개념이 조금 다르다는 것이 생각났다.
우리는 객체 지향언어의 특성 중 하나인 정보 은닉화를 염두에 두고 코드를 작성하여야 한다. 그러다보니 어떠한 변수를 private으로 선언하고 상황에 따라 get, set 함수를 정의해서 변수에 직접 접근하는것을 제한한다. 하지만 매번 return을 써가며 함수를 정의하는 것은 누구에겐 귀찮은 일이 아닐 수 없다. 그래서 C#에는 프로퍼티라는 것을 제공한다.
프로퍼티는 선언한 변수의 값을 외부에서 접근할 수 있도록 하면서 캡슐화를 지원하는 언어의 한 요소이다.
/ 자동 구현 프로퍼티
class PropertyTest{
private int score { get; set; } //자동 구현 프로퍼티
private int Tscore { get; set; } = 20; // 프로퍼티의 기본값 설정도 가능하다.
}
[SerializeFiled] 란?
변수를 접근제한자 private을 통해 정보를 은닉하고, 캡슐화는 유지하되, 유니티 에디터의 Inspector에서 값을 변경할 수 있도록 사용하는 키워드이다.
[HideInInspector]란?
위와는 반대로 접근제한자가 public으로 지정되어 있지만 유니티 에디터의 Inspector에 노출되는 것을 막기 위해 사용하는 키워드이다.
'Unity' 카테고리의 다른 글
[Unity] 코루틴이란? (0) | 2023.05.13 |
---|---|
[Unity] 열거자 인터페이스 (IEnumerator) (0) | 2023.05.13 |