C#은 클래스 내부의 멤버를 노출하거나 숨길때 사용하도록 여러 접근 한정자를 제공합니다. 일반적으로 클래스는 자신의 멤버 데이터는 외부에 대해 숨기고, 필요한 메쏘드만 노출합니다. 데이터를 숨기는 이유는 클래스 외부에서 누군가가 그 데이터의 값을 변경할 수 있게 되면 나중에 프로그램에 문제가 생겼을 때 문제가 어디서 발생했는지를 발견하기가 매우 힘들어지기 때문입니다. class는 접근 제한자를 명시해주지 않으면 기본적으로 private으로 접근 제한자를 적용합니다. (그 외의 한정자 대해서는 아래 다 링크가 되어있습니다.)

한정자 용도
액세스 한정자 형식 및 형식 멤버의 선언된 액세스 가능성을 지정합니다.
abstract 클래스가 다른 클래스의 기본 클래스로만 사용됨을 나타냅니다.
const 필드 또는 지역 변수의 값을 수정할 수 없도록 지정합니다.
event 이벤트를 선언합니다.
extern 메서드가 외부에서 구현됨을 나타냅니다.
override 기본 클래스로부터 상속된 가상 멤버의 새 구현을 제공합니다.
readonly 선언의 일부로서 또는 동일한 클래스의 생성자에서만 값을 할당받을 수 있는 필드를 선언합니다.
sealed 클래스가 상속될 수 없도록 지정합니다.
static 특정 개체가 아니라 형식 자체에만 속하는 멤버를 선언합니다.
unsafe 안전하지 않은 컨텍스트를 선언합니다.
virtual 파생 클래스의 재지정 멤버에 의해 구현이 변경될 수 있는 메서드 또는 접근자를 선언합니다.
volatile 필드가 운영 체제, 하드웨어 또는 동시에 실행되는 스레드 등에 의해 프로그램에서 수정될 수 있음을 나타냅니다.
new 기본 클래스 멤버에서 상속된 멤버를 숨기는 데 사용됩니다.

출처 : MSDN

+ Recent posts