function set 문

클래스 또는 인터페이스에서 새 속성의 접근자를 선언합니다. function set 문은 주로 function get 문과 함께 사용되어 속성에 대한 읽기/쓰기 액세스를 허용합니다.

// Syntax for the set accessor of a property in a class.
 [modifiers] function set propertyname(parameter [: type]) {
   [body]
}

// Syntax for the set accessor of a property in an interface.
[modifiers] function set propertyname(parameter [: type])

인수

  • modifiers
    선택적 요소로서, 속성의 표시 유형 및 동작을 제어하는 한정자입니다.

  • propertyname
    필수적 요소로서, 만드는 속성의 이름입니다. 속성을 읽기 가능 및 쓰기 가능으로 식별하기 위해 getset 접근자에 같은 propertyname을 사용할 수 있다는 점을 제외하고 클래스 내에서 항상 고유해야 합니다.

  • parameter
    필수적 요소로서, set 접근자에 적용할 수 있는 형식 매개 변수입니다.

  • type
    선택적 요소로서, set 접근자의 매개 변수 형식입니다. 정의된 경우 이 형식은 get 접근자의 반환 형식과 일치해야 합니다.

  • body
    선택적 요소로서, set 접근자가 작동하는 방식을 정의하는 하나 이상의 문입니다.

설명

개체에 저장되고 개체에서 반환되는 값을 속성을 통해 좀 더 강력하게 제어할 수 있다는 점을 제외하고 필드에도 개체의 속성에 액세스하는 것과 같은 방식으로 액세스합니다. 속성은 클래스 내에서 getset 속성 접근자를 어떻게 조합해서 정의하느냐에 따라 읽기 전용, 쓰기 전용 또는 읽기/쓰기 가능이 될 수 있습니다. private or protected 필드에 적절한 값만 저장되도록 하기 위해 속성을 사용하는 경우도 있습니다. 읽기 전용 속성에 값을 할당하거나 쓰기 전용 속성에서 값을 읽지 못할 수 있습니다.

set 접근자는 정확히 하나의 인수만 포함해야 하며 반환 형식을 지정할 수 없습니다. set 접근자는 인수를 포함하지 않으며 반환 형식을 지정해야 하는 get 접근자와 쌍으로 사용할 수 있습니다. 하나의 속성에 두 접근자를 모두 사용하는 경우 get 접근자의 반환 형식이 set 접근자의 인수 형식과 일치해야 합니다.

하나의 속성은 get 접근자나 set 접근자 또는 둘 다를 가질 수 있습니다. 속성의 get 접근자(또는 get 접근자가 없는 경우 set 접근자)는 해당 속성에 한꺼번에 적용되는 사용자 지정 특성을 가질 수 있습니다. getset 접근자는 개별 접근자에 적용되는 한정자 및 사용자 지정 특성을 가질 수 있습니다. 속성 접근자는 오버로드할 수 없지만 숨기거나 재정의할 수 있습니다.

interface의 정의에 속성을 지정할 수 있지만 인터페이스에서 속성을 구현할 수는 없습니다.

예제

다음 예제에서는 다양한 속성 선언을 보여 줍니다. Age 속성은 읽기 가능 및 쓰기 가능으로 정의됩니다. 또한 읽기 전용 FavoriteColor 속성도 정의됩니다.

class CPerson {
   // These variables are not accessible from outside the class.
   private var privateAge : int;
   private var privateFavoriteColor : String;

   // Set the initial favorite color with the constructor.
   function CPerson(inputFavoriteColor : String) {
      privateAge = 0;
      privateFavoriteColor = inputFavoriteColor;
   }

   // Define an accessor to get the age.
   function get Age() : int {
      return privateAge;
   }
   // Define an accessor to set the age, since ages change.
   function set Age(inputAge : int) {
      privateAge = inputAge;
   }

   // Define an accessor to get the favorite color.
   function get FavoriteColor() : String {
      return privateFavoriteColor;
   }
   // No accessor to set the favorite color, making it read only.
   // This assumes that favorite colors never change.
}

var chris : CPerson = new CPerson("red");

// Set Chris's age.
chris.Age = 27;
// Read Chris's age.
print("Chris is " + chris.Age + " years old.");

// FavoriteColor can be read from, but not written to.
print("Favorite color is " + chris.FavoriteColor + ".");

이 프로그램이 실행되면 다음이 표시됩니다.

Chris is 27 years old.
Favorite color is red.

요구 사항

.NET 버전

참고 항목

참조

class 문

interface 문

function 문

function get 문

개념

형식 주석

기타 리소스

한정자