액세스 한정자
액세스 한정자 (C# 참조)
C#에서 타입이나 멤버가 "얼마나 공개적으로 보일 수 있는지"를 정하는 걸 접근성 한정자라고 해요. 코드를 외부에서 어떻게 사용할 수 있을지를 결정하는 아주 기본적인 개념이죠. C#은 네 가지 액세스 한정자를 제공합니다.
본문
먼저 네 가지 한정자부터 볼게요.
publicprotectedinternalprivate
이 한정자들을 조합하면 모두 여섯 가지의 접근성 수준을 지정할 수 있습니다.
public: 접근 제한이 전혀 없어요.protected: 포함하는 클래스 또는 그 클래스에서 파생된 타입으로 접근이 제한돼요.internal: 현재 어셈블리로 접근이 제한돼요.protected internal: 현재 어셈블리 또는 포함하는 클래스에서 파생된 타입으로 접근이 제한돼요.private: 포함하는 타입으로 접근이 제한돼요.private protected: 현재 어셈블리 안에서, 포함하는 클래스 또는 그 클래스에서 파생된 타입으로 접근이 제한돼요.
여기에 더해, 최상위(중첩되지 않은) 타입은 file 한정자도 사용할 수 있어요. 이렇게 선언된 타입은 현재 소스 파일 안에서만 보이죠. 파일 범위 타입(file scoped type)은 주로 소스 생성기에서 사용합니다. 단, file 한정자는 다른 어떤 액세스 한정자와도 결합할 수 없다는 점을 꼭 기억해 두세요.
이 섹션에서는 또 다음 개념도 함께 다룹니다.
- 접근성 수준: 액세스 한정자를 사용해 접근성 수준을 선언하는 방법.
- 접근성 도메인: 프로그램의 어느 구역에서 멤버를 참조할 수 있는지를 지정하는 개념.
- 접근성 수준 사용 제한: 선언된 접근성 수준 사용에 대한 제한 요약.