본문 바로가기

Unity/Unity 기타

Unity기타 - get, set

1. get과 set을 쓰는 이유

 *get set을 둘다 사용하는 경우는 보다 제한적인 get,set을 써야만하는 이유이고

 

*가장 의미있게 사용하는 방식은 중요한 private변수를 대표하는 public한 상징변수를 만들어서 get; private set; 을

  사용하여 (상징변수를 이용한 내부에서 내부의private 변수 읽기 및 셋팅 가능/ 상징변수를 이용한 외부에서 내부의      private변수 읽기만 가능) 한 변수를 만들거나  

 

  get;을 사용하여 (상징변수를 이용한 내부에서 내부의private변수 읽기만가능 / 상징변수를 이용한 외부에서 내부의      private변수 읽기만 가능)한 변수를 만들기 위해서이다

 

*인스펙터창에 나타나는 Age 가 [serializedField] int age; 임 (앞부분이 대문자로 바껴서 나옴..)

 

*셋팅할때 주의점!

 

2. set의 활용

 

3. get과 set  -> private변수없이 바로 사용

*아래처럼 축약하면 Test의 public int Age가 실제로는 private int Age변수 역할을 하게되어

  유니티의 인스펙터창에 나타나지 않음

(근데 이렇게 하면 [SerializeField] public int Age)를 해도 인스펙터창에서 안보임...) 별로 쓸용도는 없을듯

 

 

 

4. 읽기전용으로 만들기(다른클래스에서 읽기만 가능)

1) set을 priavet set으로 만들기

*private 변수 없이 바로 사용

 

 

2)set을 안쓰고 get만 쓰기

 

 

*private 변수 없이 바로 사용

 

 

 

4.get set 축약하기

 

 

 

5.get set의 활용 -> 함수의 기능값을 변수호출처럼 사용하기

 

 

 

 

6. 정리

 

1)private 변수를 대표하는 public상징변수를 사용하는경우

 

2)private 변수를 대표하는 public상징변수를 사용하는지 않고 자기자신에게 get과 set을 적용하는 경우