다음을 통해 공유


Visual Basic 6.0 사용자를 위한 인터페이스 변경 사항

업데이트: 2007년 11월

Visual Basic에 정의된 대로 인터페이스는 공용 멤버의 목록을 정의하는 형식입니다. Interface 형식은 인스턴스화하거나 구현할 수 없습니다.

인터페이스 및 클래스

클래스의 인터페이스는 해당 클래스의 공용 멤버 목록입니다. Visual Basic 2008에서는 Interface 문을 사용하여 공용 멤버의 목록을 정의하는 형식을 선언할 수 있습니다. 클래스에 Implements 문을 포함하면 클래스에서는 인터페이스의 각 멤버를 구현하여 인터페이스 멤버를 추가합니다. 이는 Inherits 키워드를 사용하는 구현 상속과는 다릅니다. 구현 상속에서는 기본 클래스에서 멤버가 상속되므로 파생 클래스에서 멤버를 구현할 필요가 없습니다.

.NET Framework에서는 응용 프로그램에서 일부 서비스를 지원하기 위해 클래스에 의해 인터페이스가 자주 사용됩니다. 예를 들어 .NET Framework의 경우, 클래스에서 System.IComparable 인터페이스를 구현한 경우 클래스의 인스턴스가 ArrayList에 포함되어 있으면 런타임에 해당 인스턴스를 정렬합니다.

Visual Basic 2008의 인터페이스 사용에 대한 자세한 내용은 Visual Basic의 인터페이스를 참조하십시오.

Visual Basic 6.0

Visual Basic 6.0에서는 모든 클래스를 인터페이스로 사용할 수 있습니다. 아래 예제에서 볼 수 있는 것처럼 Implements 문을 사용하면 어떤 클래스에서도 다른 클래스의 인터페이스를 구현할 수 있습니다.

' Contents of class BaseClass
Public Sub BaseMethod()
End Sub

' Contents of class DerivedClass
Implements BaseClass
Private Sub BaseClass_BaseMethod()
End Sub

클래스의 개별 멤버에는 선택적으로 코드를 포함시킬 수 있으나 반드시 포함시킬 필요는 없습니다.

Visual Basic 2008

Visual Basic 2008에서는 클래스와 인터페이스를 명확하게 구분합니다. 클래스는 Class 문으로 선언되고 인터페이스는 Interface 문으로 선언됩니다. 클래스를 인터페이스로 사용할 수는 없습니다. 인터페이스로 사용하려면 Interface를 사용하여 해당 형식을 선언해야 합니다. 인터페이스 멤버는 구현되지 않습니다. 실제로 구문에서는 그러한 코드 줄을 인터페이스 정의의 End Sub으로 사용할 수 없습니다. 인터페이스 멤버는 다음과 같은 Implements 문을 사용하여 인터페이스를 선언하는 클래스에서 구현됩니다.

Interface Printable
    Sub Print()
    Property Mode() As Integer
End Interface

Public Class Tree
    Implements Printable

    Private modeValue As Integer
    Public Property Mode() As Integer Implements Printable.Mode
        Get
            Return modeValue
        End Get
        Set(ByVal Value As Integer)
            modeValue = Value
        End Set
    End Property

    Public Sub Print() Implements Printable.Print
        ' Add code to print a tree.
    End Sub
End Class

업그레이드 제안 사항

Visual Basic 6.0에서는 Implements 문과 기본 클래스를 통해서만 상속을 구현할 수 있었습니다. 최신 버전의 Visual Basic에서 제공되는 상속 형식에는 구현 상속과 인터페이스 상속이 있습니다. 응용 프로그램에 따라 적절한 형식을 선택해야 합니다. 이때 고려해야 할 사항은 다음과 같습니다.

  • Inherits 문을 통한 구현 상속을 사용하면 코드를 추가로 작성하지 않고도 새 클래스를 만들 수 있습니다. 기본 클래스 동작을 수정하려는 경우에만 코드를 추가합니다. 인터페이스 상속을 사용하는 경우에는 모든 기본 클래스 멤버에 대해 코드를 추가해야 합니다.

  • 두 개 이상의 클래스에서 상속하려는 경우에는 인터페이스를 사용할 수 있습니다. Visual Basic 2008에서는 단일 클래스로부터의 상속만 지원하지만 하나의 클래스에서는 여러 인터페이스를 구현할 수 있습니다.

  • .NET Framework에서는 일반적인 프로그래밍 작업을 단순화하는 여러 인터페이스를 정의합니다. 이러한 예로 IComparable, ISerializableIFormattable이 있습니다.

  • 또한 .NET Framework에서는 많은 .NET Framework 인터페이스에 대해 해당 인터페이스를 구현하는 클래스를 제공합니다. 예를 들어, IComponent 인터페이스를 구현하는 Component 클래스가 있습니다. Inherits 문을 사용하여 Component로부터 상속하면 클래스에서 코드를 작성하지 않고도 IComponent 인터페이스의 모든 기능을 얻게 됩니다.

참고 항목

참조

Interface 문(Visual Basic)

Class 문(Visual Basic)

Inherits 문