# Unity 속성

> Use Unity-specific C# attributes to define special behavior for your code.

C#의 [속성](https://learn.microsoft.com/en-us/dotnet/csharp/advanced-topics/reflection-and-attributes/)은 클래스, 프로퍼티, 메서드 선언 위에 배치하여 특수 동작을 나타낼 수 있는 메타데이터 마커입니다.

.NET 라이브러리에는 다양한 속성이 정의되어 있으며 Unity 또한 여러 커스텀 Unity 전용 속성을 제공합니다. 예를 들어 프로퍼티 선언 위에 `HideInInspector` 속성을 추가하여 해당 프로퍼티가 퍼블릭인 경우에도 인스펙터에 표시되지 않게 할 수 있습니다. 속성은 다음과 같이 선언 위에 대괄호로 명시됩니다.

```lang-csharp
[HideInInspector]
public float strength;
```

`UnityEngine` 속성의 전체 목록은 스크립팅 API 레퍼런스의 **UnityEngine > Attributes**에 있는 목록을 참조하십시오. 이 목록은 [AddComponentMenu](/engine/6000.0/script-reference/unity-engine/add-component-menu.md)로 시작합니다.

`UnityEditor` 속성의 전체 목록은 스크립팅 API 레퍼런스의 **UnityEditor > Attributes** 아래 목록을 참조하십시오. 이 목록은 [AssetPostprocessorStaticVariableIgnoreAttribute](/engine/6000.0/script-reference/unity-editor/asset-postprocessor-static-variable-ignore-attribute.md)로 시작합니다.

**참고:** .NET [ThreadStatic](http://msdn.microsoft.com/en-us/library/system.threadstaticattribute.aspx) 속성을 Unity 스크립트에 추가하면 크래시가 발생하므로 사용하지 마십시오.

## 추가 리소스

* [Unity Learn: 속성](https://learn.unity.com/tutorial/attributes#)
* [스크립트 점검](/engine/6000.0/manual/scripting/get-started/inspecting-scripts.md)
* [스크립트 직렬화 규칙](/engine/6000.0/manual/scripting/compilation-and-code-reload/script-serialization/rules.md)
