[Unity C#] 프로퍼티 Property

윤재학·2022년 6월 21일

프로퍼티란 속성이라는 의미를 가지고, 클래스안에서 변수를 선언 후 다른 클래스에서 사용을 하려면 Public을 붙여 줘야하는데 정보 은닉을 위해 private로 선언후 get,set 메소드를 지원하는 유니티 메소드를 사용해서 구현할 수 있다!

사용의 기본 형식은 이렇게 되어있다.

class 클래스 이름
{
  데이터 타입 필드명;
  
  접근한정자 데이터타입 프로퍼티이름
  {
     get
     {
         return 필드명;
     }
     set
     {
         필드명 = value; 
     }   
  } 
  
}

이런식으로 구현을 하는데 프로퍼티의 get과 set은
get = 속성값을 반환 ( 따로 쓰면 읽기 전용)
set = 새값을 할당 하는데 사용 ( 따로 쓰면 쓰기 전용)

사용 예제


public class Test : MonoBehaviour
{
    private int hp = 100;
    const int maxHp = 100;
    
    public int Hp 
    {
        get
        {
            return hp;
        }
        set
        {
            hp = value;

            if (hp > maxHp)
            {
                hp = maxHp;
                Debug.Log("hp가 maxHp를 넘음");
            }
            else if (hp <= 0)
            {
                OnDie(); // 0이 되면 OnDie함수를 호출
            }
            Debug.Log("현재 hp : " + hp);
        }
    }
}       

이런식으로 게임에서 hp를 관리할때 사용하면 좋은게 프로퍼티(Property) 이다.

profile
노력하자 즐겁게 개발할수 있는 환경을 위해

0개의 댓글