C# 에서 모든 타입과 타입 멤버는 접근 수준을 가진다. 접근 수준은 해당 코드를 사용할 수 있는가를 결정하며, 접근 한정자(Access Modifiers)를 이용하여 타입 혹은 멤버의 접근 수준을 달리 할 수 있다
C# 에서는 다음과 같은 특징들을 지닌 6 가지의 접근 한정자를 가지고 있다
우리는 대부분 사용자 정의 타입을 만들 때 클래스를 사용하게 되고, 클래스에는 수많은 멤버가 작성된다. 이러한 멤버들이 외부와 연결될 때 의도하지 않은 방향으로 값이 변경될 위험에 노출될 수 있다. 이때 적절한 접근 한정자를 사용하면 설계자 입장에서는 의도치 않은 멤버 수정을 막을 수 있다
또한 클래스 밖으로 표기할 정보의 숫자가 줄어들기 때문에 사용자 입장에서도 파악해야 할 문맥이 줄어든다