접근 제한자 (Access Modifier)
접근 한정자라고 불리기도 하며, 타입의 범위 뿐만 아니라 멤버의 접근 범위를 정의하는 데 사용되는 기술.
클래스 또는 클래스의 멤버의 접근 가능 여부는 접근 제한자에 의해 정의된다.
C#의 5가지 접근 제한자
1. private
2. public
3. protected
4. internal
5. protected Internal
접근 제한자 | 클래스 내부 | 외부 클래스 | 파생(자식) 클래스 | 프로젝트 |
public | ○ | ○ | ○ | ○ |
protected | ○ | ○ | ||
internal | ○ | ○ | ○ | |
private | ○ | |||
protected internal | ○ | ○ |
어셈블리는 하나의 단일한 단위로 존재하는 .NET의 실행 가능한 프로그램 또는 실행 프로그램의 일부이며
실행 및 배포의 단위라고 할 수 있다.
C# 응용 프로그램 작성의 결과로 생긴 .exe 파일, 클래스 라이브러리 작성의 결과인 DLL이 각각 하나의 어셈블리이다.
하나의 단일한 어셈블리 안의 모든 코드는 하나의 단일한 단위로 빌드, 배포되며
버전 번호가 부여되는데, 각 어셈블리는 다른 프로그램들이 사용할 수 있는 public class, 속성, 메소드 등을 노출하고,
private으로 선언된 것들은 모두 어셈블리 안에 은폐된다.
internal
동일한 어셈블리 내에 있는 다른 타입들이 접근할 수 있다.
protected
파생 클래스에서 이 클래스 멤버에 접근할 수 있다.
private
클래스 내부와 구조체 내에서만 멤버에 접근 가능하다.
'C#' 카테고리의 다른 글
[C#] 제네릭 generic (0) | 2022.10.10 |
---|---|
[C#] 확장 메소드 Extension Method (0) | 2022.10.07 |
[C#] IEnumerable (0) | 2022.10.06 |
[C#] ref out (0) | 2022.10.06 |
[C#] Property 프로퍼티 (0) | 2022.10.06 |