Inherits Statement

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

구문

Inherits basetypenames  

부분

용어 정의
basetypenames 필수입니다. 이 클래스가 파생되는 클래스의 이름입니다.

또는

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

설명

사용되는 경우 Inherits 문은 클래스 또는 인터페이스 정의에서 공백이 아니고 주석이 아닌 첫 번째 줄이어야 합니다. 이는 Class 또는 Interface 문 바로 뒤에 와야 합니다.

클래스나 인터페이스에서만 Inherits를 사용할 수 있습니다. 이는 상속에 대한 선언 컨텍스트가 원본 파일, 네임스페이스, 구조체, 모듈, 프로시저 또는 블록이 될 수 없음을 의미합니다.

규칙

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

    클래스는 그 안에 중첩된 클래스에서 상속할 수 없습니다.

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

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

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

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

.NET Framework의 인터페이스 상속의 예로는 IEnumerable 인터페이스에서 상속되는 ICollection 인터페이스가 있습니다. 이로 인해 ICollection이 컬렉션을 트래버스하는 데 필요한 열거자의 정의를 상속하게 됩니다.

예 1

다음 예에서는 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

예제 2

다음 예에서는 다중 인터페이스의 상속을 보여 줍니다.

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

이제 thisInterface라는 인터페이스에는 IComparable, IDisposableIFormattable 인터페이스의 모든 정의가 포함됩니다. 상속된 멤버는 각각 두 개체의 형식별 비교, 할당된 리소스 해제 및 개체 값을 String으로 표현하는 기능을 제공합니다. thisInterface를 구현하는 클래스는 모든 기본 인터페이스의 모든 멤버를 구현해야 합니다.

참고 항목