유니티 버전 - 2022.3.44f1
들어가며
오늘은 Attributes에 대하여 알아보겠습니다(이하 속성), 속성은 스크립트에서 클래스, 필드, 프로퍼티 또는 함수 위에 명시하여 특별한 동작을 나타낼 수 있는 마커입니다, 이것은 코드에 대한 추가적인 정보를 제공하거나 특정 기능을 활성화시키는데 사용됩니다
어트리뷰트는 보통 대괄호 [] 로 감싸져 코드 위에 붙입니다
[SerializeField]
Private 필드를 인스펙터에서 수정할 수 있도록 노출시킵니다, 또 유니티는 기본적으로 클래스를 인스펙터에서 확인할 수 없습니다, 하지만 [System.Serializable]을 이용하면 커스텀 클래스 또한 직렬화하고 인스펙터에서 확인할 수 있습니다
[HideInInspector]
public으로 설정된 필드를 인스펙터에서 노출시키지 않도록 합니다
[Header]
인스펙터에서 변수를 그룹화하거나 설명을 추가하기 위해 사용합니다
[RequireComponent(typeof(T))]
컴포넌트를 자동으로 추가하도록하는 속성입니다
특정 스크립트의 동작을 위해 필수적으로 필요한 컴포넌트를 지정합니다
만약 게임 오브젝트에 typeof()에 해당하는컴포넌트가 없다면 자동으로 추가해줍니다
만약 인스펙터에서 Remove Component로 컴포넌트를 제거하려고 한다면 아래의 창이 나오며 삭제가 취소됩니다
[Tooltip(" ")]
인스펙터에서 Tooltip이 적용된 변수 위에 마우스를 올리면 설명이 나타나도록 합니다.
[Space]
인스펙터상에서의 변수 사이에간격을 줍니다 기본값은 8이며 간격을 직접 지정해줄수도 있습니다
마치며
오늘은 속성에 대하여 알아보았습니다
Unity Documentation 2023.2 기준으로 속성의 개수가 40개를 더 넘습니다
그러기에 존재하는 모든 속성을 다루지는 않았습니다, 다른 속성들이 더 궁금하시다면 아래를 참고하시길 바랍니다
이상입니다.
'코드 및 공부 > 기타' 카테고리의 다른 글
c# - 변수의 종류와 접근 제한자, 키워드 (0) | 2024.09.24 |
---|---|
c# - 변수와 자료형 (0) | 2024.09.23 |
Git Commit Message Convention (0) | 2024.09.13 |
브랜치 전략(Git Flow) (0) | 2024.09.12 |
GitHub의 Branch protection rules (0) | 2024.09.11 |