38.1 속성
클래스의 멤버 중에서 속성(property)은 단어 그대로 클래스 속성(특징, 성격, 색상, 크기 등)을 나타냅니다. 속성은 괄호가 없는 메서드와 비슷하고 개체 필드 중에서 외부에 공개하고자 할 때 사용하는 방법입니다. 개체의 성질, 특징, 색상, 크기, 모양 등을 속성으로 외부에 공개할 수 있습니다. 코드에서는 private 성격이 있는 필드를 public 속성으로 외부에 공개할 때 사용합니다.
클래스 안에 선언된 필드 내용을 설정(set)하거나 참조(get)할 때 사용하는 코드 블록을 속성이라고 합니다. 자동차 개체로 비유하면 빨간색 스포츠카, 바퀴 4개 등으로 속성을 표현할 수 있습니다.
속성을 클래스에 정의하는 구문은 다음과 같습니다.
앞 형태는 가장 기본적인 속성을 정의하는 구문이고 get; set; 부분을 좀 더 다르게 설정해서 여러 가지 종류의 속성을 구현할 수 있습니다.
예를 들어 Car 클래스에 Name 속성을 정의하는 구문은 다음과 같습니다.
class 클래스이름
{
[반환형식] 속성이름 { get; set; }
}
> class Car . { . public string Name { get; set; } . }
이렇게 한 줄로 속성을 정의하는 것을 자동 속성(auto property) 또는 자동 구현 속성이라고 합니다.