반응형
internal 액세스 한정자 : 구성 요소 그룹이 나머지 코드에 노출되지 않고 비공개 방식으로 상호 작용합니다. 구성 요소 기반 개발에 사용되고, 프레임 워크를 사용하는 코드에 노출되지 않습니다.
public class의 경우 누구나 해당 dll 클래스를 상속받아 별도의 변형된 2차 래퍼클래스로 작성 가능하기 때문에 그런 경우를 방지하기 위해 internal로 작성하고, 어셈블리 내부에서 자유롭게 사용하기 위한 용도로 많이 쓰입니다.
주로 프레임워크, 공통 컨트롤 개발자, 서드파티 컴포넌트 등에서 사용합니다.
예제
internal class BaseClass
{
public static int intM = 0;
}
class TestAccess
{
static void Main()
{
//internal 클래스를 인스턴스화
var myBase = new BaseClass(); // -> 오류 발생.
}
}
public class BaseClass
{
internal static int intM = 0;
}
public class TestAccess
{
static void Main()
{
var myBase = new BaseClass();
//인스턴스화는 가능, 내부 멤버에 액세스할 수 없음.
BaseClass.intM = 444; // -> 오류 발생.
}
}
반응형
'[Unity] > [C#]' 카테고리의 다른 글
[C#] ConditionalAttribute (0) | 2022.09.20 |
---|---|
[C#] MethodImpl (feat.인라인 함수) (0) | 2022.09.19 |
[C#] 물음표 연산자 3종류(feat. '?.', '??', '?') (0) | 2022.09.17 |
[C#] try-catch 예외처리 (2) | 2022.09.16 |
[C#] string 출력 방법(feat. Console.Write) (0) | 2022.06.02 |