Inherits 문

현재 클래스나 인터페이스가 다른 클래스나 인터페이스 집합에서 특성, 변수, 속성, 프로시저 및 이벤트를 상속하도록 합니다.

Inherits basetypenames

구성 요소

용어

내용

basetypenames

필수적 요소로서, 이 클래스가 파생되는 클래스의 이름입니다.

또는

이 인터페이스가 파생되는 인터페이스의 이름입니다. 여러 이름을 구분하려면 쉼표를 사용합니다.

설명

Inherits 문을 사용하는 경우 이 문은 클래스 또는 인터페이스 정의에서 공백 또는 주석이 없는 첫 번째 줄이어야 합니다. 또한 Class 문이나 Interface 문 바로 다음에 나와야 합니다.

Inherits는 클래스나 인터페이스에만 사용할 수 있습니다. 즉, 상속의 선언 컨텍스트는 소스 파일, 네임스페이스, 구조체, 모듈, 프로시저 또는 블록일 수 없습니다.

규칙

  • 클래스 상속. 클래스가 Inherits 문을 사용하는 경우에는 하나의 기본 클래스만 지정할 수 있습니다.

    클래스는 해당 클래스 내에 중첩된 클래스에서 상속될 수 없습니다.

  • 인터페이스 상속. 인터페이스가 Inherits 문을 사용하는 경우 하나 이상의 기본 인터페이스를 지정할 수 있습니다. 두 인터페이스가 동일한 이름의 멤버를 각각 정의해도 이러한 두 인터페이스에서 상속할 수 있습니다. 상속할 경우 구현하는 코드는 이름 한정을 사용하여 구현하는 멤버를 지정해야 합니다.

    인터페이스는 액세스 수준이 보다 제한적인 다른 인터페이스에서 상속할 수 없습니다. 예를 들어 Public 인터페이스는 Friend 인터페이스에서 상속할 수 없습니다.

    인터페이스는 해당 인터페이스 내에 중첩된 인터페이스에서 상속할 수 없습니다.

.NET Framework 클래스 상속의 예로 SystemException 클래스에서 상속하는 ArgumentException 클래스를 들 수 있습니다. 이 클래스는 Message 속성 및 ToString 메서드와 같이 시스템 예외에 필요한 미리 정의된 모든 속성과 프로시저를 ArgumentException에 제공합니다.

.NET Framework 인터페이스 상속의 예로 IEnumerable 인터페이스에서 상속하는 ICollection 인터페이스를 들 수 있습니다. 이 인터페이스는 ICollection이 컬렉션을 이동하는 데 필요한 열거자 정의를 상속하도록 합니다.

예제

다음 예제에서는 Inherits 문을 사용하여 thisClass라는 클래스가 anotherClass라는 기본 클래스의 모든 멤버를 상속하는 방법을 보여 줍니다.

Public Class thisClass
    Inherits anotherClass
    ' Add code to override, overload, or extend members 
    ' inherited from the base class.
    ' Add new variable, property, procedure, and event declarations.
End Class

다음 예제에서는 여러 인스턴스의 상속을 보여 줍니다.

Public Interface thisInterface
    Inherits IComparable, IDisposable, IFormattable
    ' Add new property, procedure, and event definitions.
End Interface

thisInterface라는 인터페이스는 이제 IComparable, IDisposableIFormattable 인터페이스의 모든 정의를 포함합니다. 상속된 멤버는 두 개체의 형식 관련 비교를 각각 제공하여 할당된 리소스를 해제하고 개체의 값을 String으로 나타냅니다. thisInterface를 구현하는 클래스는 모든 기본 인터페이스의 모든 멤버를 구현해야 합니다.

참고 항목

참조

MustInherit(Visual Basic)

NotInheritable(Visual Basic)

개념

상속 기본 사항(Visual Basic)

기타 리소스

Visual Basic의 개체 및 클래스

인터페이스(Visual Basic)