5.1 캡슐화 대상(멤버) C#에서 클래스나 구조체를 정의할 때 다양한 멤버들을 캡슐화가 가능합니다. 가장 기본적인 멤버는 데이터를 캡슐화하기 위한 멤버 필드와 수행할 작업에 대한 논리적 코드를 정의하는 메서드입니다. 그리고 사용하는 곳에서는 캡슐화된 데이터처럼 보이지만 실제로는 수행할 작업을 정의할 수 있는 특별한 메서드인 속성을 제공합니다. 배열이나 연결 리스트처럼 요소 개체들을 보관하는 컬렉션에서는 사용자가 인덱스 연산을 통해 요소에 접근할 수 있는 인덱서를 제공하고 있습니다. 그리고 정적 멤버인 상수 멤버와 읽기 전용이 있습니다. 이 외에도 개체를 생성할 때 수행할 작업을 정의할 수 있는 생성자와 메모리에서 개체를 제거할 때 작업을 정의하는 소멸자가 있습니다. 그리고 형식 내에 서브 형식을 정의할..