OOP 원리인 캡슐화는 보호해야 하는 객체 부분을 보호하고 노출에 안전한 부분만 노출하는 메커니즘이다. C#은 접근 제어를 통해 캡슐화를 지원한다.
접근 제어는 접근 제어 한정자의 통제를 받는데, public, protected, internal, private라는 4개의 한정자가 있다. 접근 제어 한정자는 클래스나 클래스 멤버에 적용될 수 있다.
클래스는 public이나 internal 중 하나가 될 수 있다. 명시적으로 public 선언하지 않는 한 internal 접근성을 가진다. public 클래스는 모든 네임스페이스의 다른 형식에서 접근 할 수 있다.
대조적으로 internal 클래스는 현재 어셈블리로 제한된다. 여기서 어셈블리란 .NET 기반 애플리케이션에 대한 배포, 버전 제어, 재사용 등 프로그램의 기본 단위이다.
예로는 실행파일(.exe), 동적 연결 라이브러리(dll)이 있다. // 어셈블리 : MyProject namespace MySpace { internal ...
#
C샵
#
internal
#
private
#
protected
#
public
#
디폴트제어한정자
#
씨샵
#
접근제어
#
접근한정자
원문 링크 : [C#] 접근 제어 한정자