언어 자료구조 알고리즘/Escort C#

[C#] 5.1 캡슐화 대상(멤버) - 멤버 필드

언제나휴일 2016. 5. 2. 12:31
반응형



5.1 캡슐화 대상(멤버)

 

 C#에서 클래스나 구조체를 정의할 때 다양한 멤버들을 캡슐화가 가능합니다. 가장 기본적인 멤버는 데이터를 캡슐화하기 위한 멤버 필드와 수행할 작업에 대한 논리적 코드를 정의하는 메서드입니다. 그리고 사용하는 곳에서는 캡슐화된 데이터처럼 보이지만 실제로는 수행할 작업을 정의할 수 있는 특별한 메서드인 속성을 제공합니다.

 

 배열이나 연결 리스트처럼 요소 개체들을 보관하는 컬렉션에서는 사용자가 인덱스 연산을 통해 요소에 접근할 수 있는 인덱서를 제공하고 있습니다. 그리고 정적 멤버인 상수 멤버와 읽기 전용이 있습니다. 이 외에도 개체를 생성할 때 수행할 작업을 정의할 수 있는 생성자와 메모리에서 개체를 제거할 때 작업을 정의하는 소멸자가 있습니다. 그리고 형식 내에 서브 형식을 정의할 수 있으며 연산자를 사용하였을 때의 작업을 정의할 수도 있습니다.

 

 이 외에도 콜백에서 자주 사용하는 대리자(delegate)형식의 이벤트 멤버를 캡슐화할 수 있는데 9장 대리자와 이벤트에서 설명할게요.

 

5.1.1 멤버 필드

 

 멤버 필드는 클래스나 구조체의 캡슐화되어 있는 일부 데이터입니다. 멤버 필드는 클래스나 구조체 블록 내에 멤버 형식 및 필드 이름을 차례로 선언하면 됩니다. 또한, C#에서는 선언과 동시에 초기값을 지정할 수 있습니다.

 

class Man

{

        string name;

        int hp = 0; //멤버 필드 초기화

}

 

 접근 한정자에 대한 설명하면서 다시 다루겠지만 멤버 필드는 형식 외부에서 접근할 수 없게 private으로 지정하는 것이 바람직합니다. C#에서는 접근 한정자를 명시하지 않을 때 private으로 설정되어 형식 외부에서 접근할 수 없습니다. 만약, 형식 외부에서 멤버 필드의 값을 얻어오거나 설정할 필요성이 있으면 멤버 속성이나 멤버 메서드를 이용하여 제공하는 것이 바람직합니다


[C#] 5.1.2 멤버 속성

[C#] 5.1.3 메서드와 매개 변수 전달 방식

[C#] 5.1.4 인덱서

[C#] 5.1.5 생성자

[C#] 5.1.6 소멸자

[C#] 5.1.7 상수와 읽기 전용

[C#] 5.1.8 연산자 중복 정의


반응형

'언어 자료구조 알고리즘 > Escort C#' 카테고리의 다른 글

[C#] 5.1.6 소멸자  (0) 2016.05.02
[C#] 5.1.5 생성자  (0) 2016.05.02
[C#] 5.1.4 인덱서  (2) 2016.05.02
[C#] 5.1.3 메서드와 매개 변수 전달 방식  (0) 2016.05.02
[C#] 5.1.2 멤버 속성  (0) 2016.05.02
[C#] 5. 캡슐화  (0) 2016.05.02
[C#] 4. 값(value) 형식  (0) 2016.04.01
[C#] 3.4 string  (0) 2016.04.01
[C#] 3.3 배열  (0) 2016.04.01
[C#] 3.2 Boxing 과 UnBoxing  (0) 2016.04.01