Unity 게임 개발에서 변수의 접근 제한자를 설정하는 것은 매우 중요한 부분입니다. 특히 캐릭터의 움직임 속도, 체력, 마나 등과 같은 변수를 다룰 때 이러한 변수를 적절하게 관리하고 수정할 수 있어야 합니다. 이때 접근 제한자를 설정하여 변수의 접근 범위를 제어할 수 있습니다.
1. private:
- 'private' 접근 제한자는 변수를 정의한 클래스 내부에서만 접근 가능하도록 지정합니다. 다른 클래스나 외부에서는 접근할 수 없습니다.
- 이것은 변수의 내부 구현 세부 사항을 숨기고 캡슐화를 지원하는 데 사용됩니다. 다른 클래스에서 변수에 직접 접근하는 것을 방지합니다.
2. public:
- 'public' 접근 제한자는 변수를 어떤 클래스에서나 접근 가능하도록 지정합니다. 다른 클래스나 코드에서도 접근할 수 있습니다.
- 이것은 변수를 외부에 노출하여 모듈 간의 상호 작용을 지원하고 코드의 재사용성을 높이는 데 사용됩니다. 그러나 외부에서 변수를 마음대로 수정할 수 있어 주의가 필요합니다.
물론, 'public'으로 변수를 노출하면 외부에서 접근 가능하며 수정할 수 있어서 보안상의 문제가 발생할 수 있습니다. 이런 경우, Unity에서는 `[SerializeField]` 어트리뷰트를 사용하여 private 변수도 Inspector 뷰에서 수정할 수 있도록 만들 수 있습니다.
`[SerializeField]`를 변수 위에 적용하면 해당 변수가 private이지만 Unity Inspector 뷰에서 수정 가능하도록 만들어집니다. 이렇게 하면 변수의 값을 수정하면서도 보안을 유지하고, 게임 오브젝트의 상태를 외부에서 설정할 때 편리합니다.
사용방법 :
[SerializeField]
private float moveSpeed = 5.0f; // Inspector 뷰에서 수정 가능한 private 변수
'유니티' 카테고리의 다른 글
[유니티] c# 접근 제한자(private, public, protected, internal) (0) | 2023.09.19 |
---|