본문 바로가기

유니티(Unity)

어트리뷰트(Attribute)

어트리뷰트(Attribute)는 코드에 메타데이터를 추가하는 방법입니다. 메타데이터란, 프로그램의 구조, 컴포넌트, 함수 등과 같은 정보를 뜻합니다. 어트리뷰트는 이러한 메타데이터를 지정하는 역할을 하며, 이 정보를 기반으로 컴파일러나 런타임 시스템에서 특별한 작업을 수행할 수 있습니다.

 

예를 들어, [Serializable] 어트리뷰트는 C#에서 사용되며, 클래스나 구조체가 직렬화(Serialization) 가능한 형태로 변환되도록 합니다. 직렬화란, 객체의 상태를 저장하거나 전송하기 위해 객체를 바이트 스트림 형태로 변환하는 것을 말합니다.

 

[RequireComponent] 어트리뷰트는 Unity에서 사용되며, MonoBehaviour 클래스를 상속하는 스크립트의 경우 해당 스크립트가 사용될 때 필요한 컴포넌트를 자동으로 추가해주는 역할을 합니다.

 

어트리뷰트를 사용하여 코드에 메타데이터를 추가함으로써, 코드를 더욱 명확하고 유연하게 작성할 수 있습니다.

 

ex) [RequireComponent(typeof(PlayerAudio), typeof(PlayerInput), typeof(PlayerMovement))]

이 어트리뷰트는 게임 오브젝트에 부착된 MonoBehaviour에서 필요한 다른 MonoBehaviour를 자동으로 추가할 수 있도록 합니다. 이 경우, Player 오브젝트에는 PlayerAudio, PlayerInput, PlayerMovement 클래스가 필요합니다.

 

물론 클래스 뿐만아니라 [RequireComponent(typeof(Rigidbody))] 처럼도 사용 가능합니다.