하기 사이트에서 발췌.
==> http://yhw720.tistory.com/137
일반적인 객체 지향 언어에서는 클래스의 특성 중 하나인 information hiding을 public, private, protected 지정자를 통하여 구현합니다. 이런 지정자는 모두 논리적 특성을 지니고 있으며 한번 지정하면 그 의미가 바뀌지 않습니다. C#에서는 internal 지정자라는 특별한 지정자를 지원하는데 이 지정자는 물리적인 특성을 지니고 있으며 작업단위가 바뀔 때 마다 그 의미가 바뀌게 됩니다.
1. Internal 지정자
(1) Internal 지정자의 정의
- 동일한 .NET assembly에서 접근 가능한 레벨을 지정하는 지정자
(2) Internal 지정자의 특징
- .NET assembly에서 접근 가능한 레벨을 지정하는 지정자
- 다른 지정자와는 달리 물리적인 특성 소유
- 현실 세계의 모습을 잘 표현
(3) Internal 지정자를 사용하는 이유
- 객체를 이용하여 작업을 수행할 경우 혼자만으로 수행되는 작업은 거의 존재하지 않음
- 대부분의 작업은 다른 클래스와 객체와 연관되어 수행
- 자신과 상속 관계가 없는 일반적인 클래스와 공동작업을 하기 위한 새로운 지정자 필요
- public 지정자는 아무에게나 공개되므로 부적합
- private 지정자는 자신만 사용할 수 있으므로 부적합
- protected 지정자는 상속 관계를 맺어야만 하므로 부적합
2. Internal access 모델
(1) access 레벨 간의 비교
- public -> 논리적 특성을 지니며 아무나 사용 가능
- private -> 논리적 특성을 지니며 자신만 사용 가능
- protected -> 논리적 특성을 지니며 후손만 사용 가능
- Internal -> 물리적 특성을 지니며 assembly 그룹에서만 사용 가능
'프로그래밍 > .Net' 카테고리의 다른 글
WaitHandles 사용 (0) | 2014.01.17 |
---|---|
Thread 동기화 및 AutoResetEvent, WaitHandles (0) | 2014.01.17 |
LoaderLock 관리 디버깅 도우미 문제 (0) | 2014.01.17 |
Handle hWND (0) | 2014.01.17 |
C# 가변인자 만들어 넣기 (0) | 2014.01.17 |