728x90
접근 제한자란, 클래스, 메서드, 속성 등에 대한 접근 권한을 사용하는 데 사용된다.
public
- 모든 외부 클래스에서 접근이 가능하다.
private
- 해당 클래스 내에서만 접근이 가능하다.
- 외부에서 접근하면 안되는 내부 로직이나 데이터에 사용된다.
protected
- 해당 클래스와 상속받은 클래스에서만 접근이 가능하다.
- 상속받은 클래스에서는 접근해야 하지만 외부에서는 접근하면 안될 때 사용된다.
internal
- 같은 어셈블리(프로젝트) 내에서는 public으로 작동하게 되지만, 다른 어셈블리(프로젝트)에서는 private으로 작동하게 되어 접근할 수 없게 된다.
- 클래스 서두에서 접근 한정자를 생략한 것은 internal을 생략한 것이다. 즉 internal이 디폴트이다.
protected internal
- 같은 어셈블리(프로젝트) 내에서는 protected로 작동하고, 다른 어셈블리에 대해서는 private으로 작동한다.
private protected
- 같은 어셈블리(프로젝트) 내에서 상속받은 클래스에서만 접근이 가능하다.
- protected는 다른 어셈블리에서 상속받아 접근이 가능하므로 이를 제한하기 위해 사용한다.
728x90
'언어(C, C++, C#)' 카테고리의 다른 글
[C#] delegate와 event (3) | 2024.11.08 |
---|---|
[C#] .NET, 컴파일 과정, CLS, CTS, CIL, CLI, CLR, JIT 컴파일 (1) | 2024.11.06 |
[C#] 깊은 복사 / 얕은 복사 (Deep Copy / Shallow Copy) (2) | 2024.11.06 |
[C#] Virtual, Abstract, Interface (0) | 2024.11.05 |
[C#] this (2) | 2024.11.05 |