c# property 예제

Posted on

일반 데이터 필드와 속성은 동일한 메모리 공간에 저장되므로 C#에서 동일한 이름의 필드 및 속성을 선언할 수 없습니다. 가용성을 제한하려면 속성에 대한 액세스 수정자를 지정할 수 있습니다(공용, 비공개…). 그러나 C#에서 우리는 get 또는 set 접근자의 접근성을 재정의할 수도 있습니다. 그래서, 우리가 할 수있는 일은 공용 get 접근자 및 개인 세트 접근자가있는 공용 속성을 선언하는 것입니다. 우리의 속성은 공용 하나, 우리는 get 접근자에 대 한 공개 키워드를 추가할 필요가 없습니다., 그것은 어쨌든 공개 될 것 이다: 액세서리: “집합” 및 “get”의 블록은 “접근자”로 알려져 있습니다. 그것은 속성의 접근성을 제한하는 것이 매우 중요합니다. 접근자 에는 접근자 및 설정 접근자 와 같은 두 가지 유형이 있습니다. “get” 및 set 접근자에 따라 속성 유형에 따라 여러 가지 유형이 있습니다. 다른 언어에서는 특수 한 getter 및 setter 메서드를 구현 하는 프로그램에 의해 종종 수행 됩니다. C# 속성은 이러한 유형의 보호를 활성화하는 동시에 필드처럼 속성에 액세스할 수 있도록 합니다. 프로그램 1: “get” 접근자 사용 하 여 읽기 전용 속성을 보여 줍니다. get 속성 접근자는 속성 값을 반환하는 데 사용되며 set 속성 접근자는 새 값을 할당하는 데 사용됩니다. 이러한 접근자는 서로 다른 액세스 수준을 가질 수 있습니다.

자세한 내용은 접근자 접근성 제한을 참조하십시오. Base 클래스 속성은 Derived 클래스에서 다형성으로 재정의할 수 있습니다. 그러나 가상, 재정의 등과 같은 수정자는 접근자 수준이 아닌 속성 수준에서 사용된다는 것을 기억하십시오. 이 속성은 읽기/쓰기 속성이었지만 다음에 대해 알아볼 읽기 전용 속성을 만들 수도 있습니다. 위의 예에서 우리는 우리의 개인 필드가 이제 속성을 통해 노출되는 것을 볼 수 있습니다. _name 필드의 값을 읽으려면 학생 개체를 사용하여 Name 속성을 호출하기만 하면 됩니다. _lastName 필드에도 마찬가지입니다. 또한 필드에 값을 설정하려면 속성의 집합 블록을 호출하기만 하면 됩니다 . 유효한 C# 유형일 수 있습니다.

사용자 정의할 수 있습니다. 속성은 공용, 개인, 보호, 내부와 같은 다른 액세스 수정자일 수 있습니다. 액세스 수정자는 클래스의 사용자가 속성에 액세스하는 방법을 정의합니다. 동일한 속성에 대한 get 및 set 접근자에는 다른 액세스 수정자가 있을 수 있습니다. 정적 키워드를 사용하여 정적 속성으로 선언하거나 가상 키워드를 사용하여 가상 속성으로 표시될 수 있습니다. 집합/get 메서드 집합을 사용하는 예제는 다음과 같습니다. 목록 10-2는 속성을 만들고 사용하는 방법을 보여 주며 Customer 클래스에는 ID 및 Name 속성 구현이 있습니다.