본문 바로가기

TIL

23.10.12

Property란

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

Property의 특징

1. 프로퍼티를 사용하면 클래스가 구현 또는 코드를 숨기는 동시에 값을 가져오고 설정하는 방법을 공개적으로 노출할 수 있습니다.
2. get 속성 접근자는 속성 값을 반환하고, set 접근자는 새 값을 할당하는데 사용합니다.
3. set 접근자의 value 키워드는 set 접근자가 할당하는 값을 정의하는데 사용합니다.
4. set 접근자만을 구현하면 쓰기 전용, get 접근자만을 구현하면 읽기 전용입니다. 
 

기본형식

class 클래스 이름
{
  데이터 타입 필드명;

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

 

사용 예제

아래는 Age의 값을 변경할 때 20미만을 거부하는 프로퍼티이다.

using UnityEngine;
using System.Collections;

public class PropertyTest : MonoBehaviour
{
	private int age;
	public int Age
    {
		get
        {
			return age;
		}
		set
        {
			if (value < 20) {
				print ("20세 미만은 사용 불가합니다.");
			} else {
				age = value;
				AgeChanged ();
			}
		}
	}

	// Use this for initialization
	void Start ()
    {
		// Set value of Age
		Age = 10; // value is under 20 so assign value is fail.

		// Set value of Age
		Age = 25; // value is over 20 so assign value is success.

	}
		
	void AgeChanged()
    {
		print ("나이가 변경되었습니다.");
	}
}

 

'TIL' 카테고리의 다른 글

23.10.16  (0) 2023.10.17
23.10.13  (0) 2023.10.17
23.10.11  (1) 2023.10.11
23.10.10  (0) 2023.10.10
23.10.06  (0) 2023.10.06