본문 바로가기

Unity/Unity2D

Unity2D_Week2 : Property

프로퍼티(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