본문 바로가기

이론(면접)

Attribute

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