c# 속성 예제
C#의 속성은 클래스가 개인 필드를 노출하는 유연한 메커니즘을 제공하는 클래스의 멤버입니다. 이 문서에서는 C# 속성의 사용 및 구현에 대해 설명합니다. 정적 속성 및 추상 속성에 대해서도 알아봅니다. 일반 데이터 필드와 속성은 동일한 메모리 공간에 저장되므로 C#에서 동일한 이름의 필드 및 속성을 선언할 수 없습니다. C#의 속성은 클래스가 개인 필드를 노출하는 유연한 메커니즘을 제공하는 클래스의 멤버입니다. 내부적으로 C# 속성은 접근자라는 특수 메서드입니다. C# 속성에는 두 개의 접근자가 있고, 속성 접근자와 설정 속성 접근자가 있습니다. get 접근자는 속성 값을 반환하고 집합 접근자는 새 값을 할당합니다. 값 키워드는 속성의 값을 나타냅니다.
여기서 필드 “name”은 비공개로 표시되므로 이 필드를 변경하려면 속성(이름)을 호출해야만 변경할 수 있습니다. 속성의 접근자는 속성을 가져오는(읽기 또는 계산) 또는 설정(쓰기)하는 데 도움이 되는 실행 문이 포함되어 있습니다. 접근자 선언에는 get 접근자, 집합 접근자 또는 둘 다 포함될 수 있습니다. 예를 들어 – 위의 예에서 우리는 우리의 개인 필드가 이제 속성을 통해 노출되는 것을 볼 수 있습니다. _name 필드의 값을 읽으려면 학생 개체를 사용하여 Name 속성을 호출하기만 하면 됩니다. _lastName 필드에도 마찬가지입니다. 또한 필드에 값을 설정하려면 속성의 집합 블록을 호출하기만 하면 가용성을 제한하려면 속성(공용, private…)에 대한 액세스 수정자를 지정할 수 있습니다. 그러나 C#에서 우리는 get 또는 set 접근자의 접근성을 재정의할 수도 있습니다. 그래서, 우리가 할 수있는 일은 공용 get 접근자 및 개인 세트 접근자가있는 공용 속성을 선언하는 것입니다. 우리의 속성이 공용 인 경우, 우리는 get 접근자에 대한 공개 키워드를 추가 할 필요가 없습니다, 그것은 어쨌든 공개 될 것입니다 : 당신이 위의 예를 관찰하는 경우, 우리의 변수 텍스트는 대문자로 변환하고 우리는 “Rohini”로 변수 텍스트를 설정 한 후에도 을 통해 설정 된 접근자 유효성 검사가 속성에서 실패하기 때문에 텍스트를 “Suresh Dasari”로 표시했습니다.
속성은 읽기 전용으로 만들 수 있습니다. 이 작업은 속성 구현에서 get 접근자만 있으면 됩니다. 10-3을 나열하면 읽기 전용 속성을 만드는 방법을 보여 줍니다. 위의 예를 관찰하는 경우, 우리는 이름 값이 세트 접근자 및 변환을 사용하여 “Suresh”와 동일하다는 것을 확인하기 위해 다음과 같은 몇 가지 유효성 검사를 수행하여 get 및 set 접근자와 라는 속성을 사용하여 개인 변수 이름의 동작을 확장하고 있습니다. 접근자가 있는 대문자로 속성 텍스트를 가져옵니다. 다음 프로그램은 정적 속성이 있는 클래스를 보여 주며 있습니다. 즉, Name 속성에서 모든 클래스를 읽을 수 있지만 Student 클래스 내에서만 설정할 수 있습니다. 쓰기 전용 속성에 값을 할당할 수 있지만 읽을 수는 없습니다. 쓰기 전용 속성에는 설정된 접근자만 있습니다. 10-4를 나열하면 쓰기 전용 속성을 만들고 사용하는 방법을 알 수 있습니다.
get 속성 접근자는 속성 값을 반환하는 데 사용되며 set 속성 접근자는 새 값을 할당하는 데 사용됩니다. 이러한 접근자는 서로 다른 액세스 수준을 가질 수 있습니다. 자세한 내용은 접근자 접근성 제한을 참조하십시오. 속성 내에서 재정의하는 접근기를 사용할 때 다음 규칙에 주의해야 합니다. get 블록에는 속성에서 읽을 때 실행되는 문이 포함되어 있습니다. 집합 블록에는 속성에 쓸 때 실행되는 문이 포함되어 있습니다. 대답은 `예`이며 다음 섹션에서 설명합니다. 속성은 개인 필드의 값을 읽거나 쓰거나 계산하는 유연한 메커니즘을 제공하는 멤버입니다. 속성은 공용 데이터 멤버인 것처럼 사용할 수 있지만 실제로는 접근자라고 하는 특수 메서드입니다.