728x90
반응형
Attribute (속성)은 class 위에 표시 됩니다.
간단하게 3개만 알아보도록 하겠습니다.
1. [SerializeField]
데이터를 직렬화 해주는 기능입니다.
대부분 변수의 위쪽 혹은 왼쪽에서 사용합니다.
[SerializeField] private float _speed = 5f;
// 혹은
[SerializeField]
protected float _gravity = 1f;
이런 느낌으로요
private, protected를 public과 같이 inspector 창에서 수정 가능하도록 해주지만 둘은 차이가 있습니다.
public은 다른 클래스에서 접근이 가능하도록 하지만, [SerializeField]를 사용하면 다른 클래스에서는 접근이 불가능합니다
2. [System.Serializable]
inspector에 보이지 않는 class나 struct 변수를 일반 변수처럼 inspector창에 보이게 하고, 수정이 가능하도록 합니다.


3. [System.Nonserialized] / [HideInInspector]
public으로 선언된 변수를 inspector에서 숨기고 싶을 때 사용합니다.
차이점은 Attribute 설정 전에 inspector에서 값을 변경했을 시
Nonserialized는 변경한 값이 저장되지만, HideInInspector는 변경한 값이 저장되지 않습니다.

'Unity' 카테고리의 다른 글
| Unity Attribute (3번째/?번째) (2) | 2024.10.16 |
|---|---|
| Unity Attribute (2번째/?번째) (0) | 2024.10.15 |
| Unity Effector 2D 정리글 (Surface Effector 2D) (0) | 2024.09.29 |
| Unity Effector 2D 정리글 (Platform Effector 2D) (0) | 2024.09.29 |
| Unity Effector 2D 정리글 (Area Effector 2D) (0) | 2024.09.29 |