[UNITY]/TIL: UNITY

[C#] 프로퍼티 (Property)

네,가능합니다 2024. 9. 21. 13:48
프로퍼티란 ?
  • 프로퍼티는 클래스 멤버로서, 객체의 필드 값을 읽거나 설정하는데 사용되는 접근자 메서드의 조합이다.
  • 객체의 필드에 직접 접근하지 않고 간접적으로 값을 설정하거나 읽을 수 있도록 한다
  • 필드에 대한 접근 제어와 데이터 유효성 검사 등을 수행할 수 있다.
  • 프로퍼티는 필드와 마찬가지로 객체의 상태를 나타내는 데이터 역할을 하지만, 외부에서 접근할 때 추가적인 로직 수행이 가능하다.  

 

프로퍼티의 구문

[접근 제한자] [데이터 타입] 프로퍼티명

{

get

{

// 필드를 반환하거나 다른 로직 수행

}

set

{

// 필드에 값을 설정하거나 다른 로직 수행

}

}

 

프로퍼티 사용 예시

class Player
{
    private string name; // private로 변수선언
    private int level; // private로 변수선언

    public string Name
    {
        get { return name; }
        private set { name = value; } // 외부에서 set 하지 못하도록 막아놓음
    }

    public int Level
    {
        get { return level; }
        set // set 시도 할 경우
        {
            if (value >= 0) // 0과 같거나 크면
                level = value; // 해당값을 level에 저장
        }
    }
}

 

Player player1 = new Player();
player1.Name = "geun";     // set 접근자는 private이기때문에 컴파일 오류.
player1.level = -1;         // 유효성 검사에 의해 음수값은 설정하지 않음

여기까지가 오늘 배운 내용중 일부이다.

앞으로 자주 쓰일것같아 TIL도 적을 겸 미리 블로그에 옮겨적어놓았다.