프로퍼티(Property)
· 기본적으로 멤버 보호 단계에는 private, public, protected, internal이 있다.
· 이 중에서 private는 정보 은닉을 위해 외부에서 접근하지 못하도록 제한하는 액세스(접근) 한정자이다.
· private로 선언하면, 외부에서 접근을 하기 위해서 get/set을 생성 해야하는 번거로움이 존재한다.
· C#에서는 이를 간단히 처리할 수 있는 프로퍼티(Property)를 제공한다.
1. 기본 형태
· private 자료형 변수명 { get{ } set{ } }
public class Property : MonoBehaviour
{
private int hp
{
get
{
// 값을 참조할 때의 처리.
}
set
{
// 값을 대입할 때의 처리.
}
}
}
2. 자동 프로퍼티
· private 자료형 변수명 { get; set; }
private float mp { get; set; }
3. 읽기/쓰기 private 부여하기
· private 자료형 변수명 { private get; set; } = 값을 참조할 때만 private를 부여하여, 대입할 때만 사용 가능.
private float mp { private get; set; }
· private 자료형 변수명 { get; private set; } = 값을 대입할 때만 private를 부여하여, 참조할 때만 사용 가능.
private float mp { get; private set; }
4. 간단하게 get만 가능하게 하기
Property 스크립트에서 private로 선언한 mp에 Mp로 접근 가능하도록 초기화한다.
public class Property : MonoBehaviour
{
private float mp;
public float Mp => mp;
}
다른 스크립트에서 GetComponent한 Property에 Mp로 접근하면 property.Mp{ get; } 이 가능한 것을 확인할 수 있다.
public class otherScript : MonoBehaviour
{
Property property;
float MyMp;
void Start()
{
property = GetComponent<Property>();
MyMp = property.Mp;
}
}
'Unity > Unity2D' 카테고리의 다른 글
| Unity2D_Week2 : Collsion (0) | 2021.12.23 |
|---|---|
| Unity2D_Week1 : Coroutine (0) | 2021.12.06 |
| Unity2D_Week1 : Raycast (0) | 2021.12.06 |
| Unity2D_Week1 : ChargeJump (0) | 2021.12.06 |
| Unity2D_Week1 : Jump (0) | 2021.12.06 |