public 사용시 인스펙터에 오픈시켜 값을 수정 할 수 있으며 타 클래스에서도 접근이 가능하다. 유니티는 public만 직렬화 해주는데 private 또는 protected 필드를 명시적으로 직렬화 해줌으로서 인스펙터에 오픈 시켜준다.
단, 유니티의 공식 가이드에서는 이것을 "특별한 경우가 아니면 사용하지 않는다."라며, "public"을 추천하고 있다.
반대로, 변수의 접근 제한자가 "public"으로 지정되어 있지만, 유니티 에디터의 Inspector에서 노출되는 것을 막기 위해서는 "[HideInInspector]" 키워드를 사용한다. (참고로, HideInInspector 키워드는 키워드 아래에 있는 모든 변수를 노출하지 않지만, SerializeField 키워드는 키워드 바로 다음에 있는 변수 1개만 노출을 시킨다.)
참고로 유니티 에디터의 Inspector에는 사용자가 정의한 클래스(Class) 또는 구조체(Structure)의 정보를 System에서 제공하는 "[Serializable]" 키워드를 지정하여 Inspector에 노출시킬 수 있다.
출처 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=pxkey&logNo=221307184650
'게임엔진 > Unity' 카테고리의 다른 글
[Unity] EventSystem을 이용해 아이템UI 드래그 및 다른 슬롯에 등록하기(IDragHandler, IDropHandler) (0) | 2022.08.16 |
---|---|
[Unity] 게임 오브젝트 컴포넌트 패턴 (GameObject) C# 구현 (0) | 2022.08.15 |
[Unity] Debug 클래스 (에디터 출력용) (0) | 2022.08.08 |
[Unity] 스크립트 파일 (0) | 2022.08.07 |
[Unity] 메인&UI 카메라 2개 동시에 설정 (0) | 2022.06.24 |