728x90
반응형
C#에서는 기본적인 접근자 public, protected, private외에도 internal이 존재합니다.
internal은 private보다 더 제한적인 한정자입니다.
private는 같은 클래스내에서만 접근을 허용하지만 internal은 같은 어셈블리내에서만 접근이 가능합니다.
다르게 말하면 같은 소스파일내에서만 접근이 가능합니다.
// NormalClass.main.cs
public partial class NormalClass {
private int member_p;
internal int member_i;
}
// NormalClass.sub.cs
public class NormalClass {
print(member_p); // 접근 가능
print(member_i); // 접근 불가능
}
위에 예시와 같이 같은 클래스이지만 두개 이상의 파일로 나누어서 작업을 할 때 다른 파일을 수정중인 개발자가 자신이 사용중인 멤버를 접근하지 못하게 하고 싶을 경우에 internal로 선언하여 줄 수 있습니다.
반응형
'C#' 카테고리의 다른 글
[C#] ref와 out, in의 차이점 (0) | 2023.05.16 |
---|---|
[C#] Boxing과 Unboxing (1) | 2023.02.18 |
[C#] 애트리뷰트(Attribute) (0) | 2023.02.13 |
[C#] 리플렉션 (Reflection) (0) | 2023.02.13 |
[C#] 델리게이트(Delegate)와 이벤트(event)의 차이점 (0) | 2023.02.12 |