Share via


Shadows(Visual Basic)

선언된 프로그래밍 요소가 기본 클래스에서 같은 이름의 요소나 오버로드된 요소 집합을 다시 선언하고 숨기도록 지정합니다.

설명

숨김(이름으로 숨김이라고도 함)의 목적은 클래스 멤버의 정의를 유지하는 것입니다. 기본 클래스에서는 이미 정의한 요소와 같은 이름의 요소를 만드는 경우가 있을 수 있습니다. 이러한 경우 Shadows 한정자를 사용하면 클래스를 통한 참조가 새 기본 클래스 요소 대신 이미 정의한 멤버로 확인됩니다.

숨김과 재정의는 둘 다 상속된 요소를 다시 정의하지만 두 방식에는 큰 차이가 있습니다. 자세한 내용은 Visual Basic의 숨김 기능를 참조하십시오.

규칙

  • 선언 컨텍스트. Shadows는 클래스 수준에서만 사용할 수 있습니다. 즉, Shadows 요소의 선언 컨텍스트가 클래스여야 하며 소스 파일, 네임스페이스, 인터페이스, 모듈, 구조체 또는 프로시저일 수는 없습니다.

    하나의 선언문에서는 하나의 숨기는 요소만 선언할 수 있습니다.

  • 결합 한정자. 하나의 선언에서 Shadows를 Overloads, Overrides 또는 Static과 함께 지정할 수 없습니다.

  • 요소 형식. 다른 요소를 사용하여 선언된 모든 요소를 숨길 수 있습니다. 다른 속성이나 프로시저를 사용하여 특정 속성이나 프로시저를 숨기는 경우 매개 변수 및 반환 형식이 기본 클래스 속성 또는 프로시저의 매개 변수 및 반환 형식과 일치하지 않아도 됩니다.

  • 액세스. 일반적으로 기본 클래스의 숨겨진 요소를 숨기는 파생 클래스에서는 해당 요소를 사용할 수 없습니다. 그러나 다음 고려 사항이 적용됩니다.

    • 숨기는 요소가 해당 요소를 참조하는 코드에서 액세스할 수 없는 요소인 경우 참조는 숨겨진 요소로 확인됩니다. 예를 들어, Private 요소가 기본 클래스 요소를 숨기면 Private 요소에 대한 액세스 권한이 없는 코드에서는 기본 클래스 요소에 대신 액세스합니다.

    • 요소를 숨기는 경우 기본 클래스의 형식을 사용하여 선언된 개체를 통해 숨겨진 요소에 계속 액세스할 수 있습니다. 또한 MyBase를 통해 액세스할 수도 있습니다.

Shadows 한정자는 다음 컨텍스트에서 사용할 수 있습니다.

Class 문

Const 문

Declare 문

Delegate 문

Dim 문

Enum 문

Event 문

Function 문

Interface 문

Property 문

Structure 문

Sub 문

참고 항목

참조

Shared(Visual Basic)

Static(Visual Basic)

Private(Visual Basic)

MustOverride(Visual Basic)

NotOverridable(Visual Basic)

Overloads(Visual Basic)

Overridable(Visual Basic)

Overrides(Visual Basic)

개념

Visual Basic의 Me, My, MyBase 및 MyClass

상속 기본 사항(Visual Basic)

Visual Basic의 숨김 기능