Attribute란?
스크립트에서 클래스와 속성, 또는 함수와 변수 위에 추가하며 속성에 해당되는 동작을 한다.
유니티에는 굉장히 많은 속성이 있지만 자주 사용되는 속성들은 몇 개 없다!
1. Serializable
: 인스펙터에는 클래스나 구조체는 표시할 수 없다.
But Serializable 속성을 사용하면 인스펙터 창에 노출이 된다.(편집이 가능해진다!)
에디터 접근 범위 설정. (직렬화)
※ 직렬화(마샬링)
어떤 데이터를 전송하기 위해 재구성 가능한 형식으로 변환하는 것.
상대방이 받을 수 있는 포맷으로 바꿔주는 것.
대체로 서버에서 쓰이는 개념인듯?
데이터 구조나 오브젝트 상태를 Unity 에디터가 저장을 하고 나중에 재구성할 수 있는 포맷으로 자동 변환하는 프로세스라 할 수 있다.
유니티 에디터에서는 저장 및 로딩, 인스펙터 창, 프리팹, 인스턴스화 같은 일부 내장 기능에 직렬화/ 역직렬화가 사용된다.
★★★
2. SerializeField
: private 멤버를 인스펙터 창에 노출 시킨다.
다른 클래스에서 참조는 하지 않지만 변수를 인스펙터에서 노출시키고 편집하고 싶을 때 사용한다.
★★★
3. HideInInspector
: public 변수를 인스펙터 창에 노출시키지 않는 용도
변수를 외부에 공개해야 하나 인스펙터에서 값을 수정해줄 필요가 없을 때 사용
★★★★★
4. RequireComponent (typeof (Component)
이 컴포넌트를 추가할 때 요청한 Type에 해당되는 컴포넌트가 없을 경우 자동으로 추가 요청
★★★★★★
5. Header ("string")
인스펙터에 타이틀을 달 수 있다!
프로젝트의 규모가 커지면 정리가 필수가 되므로 사용 많이 됨
6. Multiline (int)
라인 수를 늘려준다.
장문의 문자열을 작성할 때 유효하다.
7. Range (int, int) // Range (float, float)
최소와 최대값을 기반으로 변수의 값을 슬라이드바로 표시한다.
편리성 옵션!
8. Space (int / float)
인스펙터 창에서 자료형 만큼의 간격을 조절할 수 있다.
필드 사이에 여백을 줄 수 있다.
9. Tooltip ("string")
마우스 커서를 올릴 경우 표시되는 툴팁을 설정할 수 있다.
툴팁은 string에 작성하면 됨.
'이론(면접)' 카테고리의 다른 글
LINQ (0) | 2022.07.15 |
---|---|
Framework (0) | 2022.07.05 |
SendMessage (ray) (0) | 2022.07.01 |
변수 표기법 (0) | 2022.06.30 |
배열 / 정적 클래스 / 확장메서드 (0) | 2022.06.29 |