연습: 인터페이스 만들기 및 구현(Visual Basic)
인터페이스는 속성, 메서드, 이벤트의 특성을 설명하지만 구현 세부 사항은 구조체 또는 클래스에 맡깁니다.
이 연습에서는 인터페이스를 선언하고 구현하는 방법을 보여 줍니다.
참고 항목
이 연습에서는 사용자 인터페이스를 만드는 방법에 대한 정보는 제공하지 않습니다.
참고 항목
일부 Visual Studio 사용자 인터페이스 요소의 경우 다음 지침에 설명된 것과 다른 이름 또는 위치가 시스템에 표시될 수 있습니다. 이러한 요소는 사용하는 Visual Studio 버전 및 설정에 따라 결정됩니다. 자세한 내용은 IDE 개인 설정을 참조하세요.
인터페이스를 정의하려면 다음을 수행합니다.
새 Visual Basic Windows 애플리케이션 프로젝트를 엽니다.
프로젝트 메뉴에서 모듈 추가를 클릭하여 프로젝트에 새 모듈을 추가합니다.
새 모듈의 이름을
Module1.vb
로 지정하고 추가를 클릭합니다. 새 모듈의 코드가 표시됩니다.Module
문과End Module
문 사이에Interface TestInterface
을 입력한 다음 Enter 키를 눌러Module1
내에서TestInterface
라는 인터페이스를 정의합니다. 코드 편집기는Interface
키워드를 들여쓰고End Interface
문을 추가하여 코드 블록을 형성합니다.Interface
문과End Interface
문 사이에 다음 코드를 배치하여 인터페이스의 속성, 메서드, 이벤트를 정의합니다.Property Prop1() As Integer Sub Method1(ByVal X As Integer) Event Event1()
구현
인터페이스 멤버를 선언하는 데 사용되는 구문은 클래스 멤버를 선언하는 데 사용되는 구문과 다르다는 점을 알 수 있습니다. 이러한 차이점은 인터페이스가 구현 코드를 포함할 수 없다는 사실을 반영합니다.
인터페이스를 구현하려면 다음을 수행합니다.
End Interface
문 뒤,End Module
문 앞에 다음 문을Module1
에 추가하고 Enter 키를 눌러ImplementationClass
라는 클래스를 추가합니다.Class ImplementationClass
통합 개발 환경 내에서 작업하는 경우 코드 편집기는 Enter 키를 누르면 일치하는
End Class
문을 제공합니다.클래스가 구현하는 인터페이스의 이름을 지정하는 다음
Implements
문을ImplementationClass
에 추가합니다.Implements TestInterface
클래스 또는 구조체 맨 위에 다른 항목과 별도로 나열된 경우
Implements
문은 해당 클래스 또는 구조체가 인터페이스를 구현한다는 것을 나타냅니다.통합 개발 환경 내에서 작업하는 경우 Enter 키를 누르면 코드 편집기가
TestInterface
에 필요한 클래스 멤버를 구현하며 다음 단계를 건너뛸 수 있습니다.통합 개발 환경 내에서 작업하지 않는 경우 인터페이스
MyInterface
의 모든 멤버를 구현해야 합니다.Event1
,Method1
,Prop1
을 구현하려면ImplementationClass
에 다음 코드를 추가합니다.Event Event1() Implements TestInterface.Event1 Public Sub Method1(ByVal X As Integer) Implements TestInterface.Method1 End Sub Public Property Prop1() As Integer Implements TestInterface.Prop1 Get End Get Set(ByVal value As Integer) End Set End Property
Implements
문은 구현되는 인터페이스 및 인터페이스 멤버의 이름을 지정합니다.속성 값을 저장한 클래스에 프라이빗 필드를 추가하여
Prop1
의 정의를 완료합니다.' Holds the value of the property. Private pval As Integer
get 접근자 속성에서
pval
값을 반환합니다.Return pval
속성 집합 접근자에서
pval
값을 설정합니다.pval = value
다음 코드를 추가하여
Method1
의 정의를 완성합니다.MsgBox("The X parameter for Method1 is " & X) RaiseEvent Event1()
인터페이스의 구현을 테스트하려면 다음을 수행합니다.
솔루션 탐색기에서 프로젝트의 시작 양식을 마우스 오른쪽 단추로 클릭하고 코드 보기를 클릭합니다. 편집기에는 시작 양식의 클래스가 표시됩니다. 기본적으로 시작 양식은
Form1
이라고 합니다.Form1
클래스에 다음testInstance
필드를 추가합니다.Dim WithEvents testInstance As TestInterface
testInstance
를WithEvents
로 선언하면Form1
클래스가 해당 이벤트를 처리할 수 있습니다.Form1
클래스에 다음 이벤트 처리기를 추가하여testInstance
에서 발생하는 이벤트를 처리합니다.Sub EventHandler() Handles testInstance.Event1 MsgBox("The event handler caught the event.") End Sub
구현 클래스를 테스트하려면
Form1
클래스에Test
라는 하위 루틴을 추가합니다.Sub Test() ' Create an instance of the class. Dim T As New ImplementationClass ' Assign the class instance to the interface. ' Calls to the interface members are ' executed through the class instance. testInstance = T ' Set a property. testInstance.Prop1 = 9 ' Read the property. MsgBox("Prop1 was set to " & testInstance.Prop1) ' Test the method and raise an event. testInstance.Method1(5) End Sub
Test
프로시저는MyInterface
를 구현하는 클래스의 인스턴스를 만들고, 해당 인스턴스를testInstance
필드에 할당하고, 속성을 설정하고, 인터페이스를 통해 메서드를 실행합니다.시작 양식의
Form1 Load
프로시저에서Test
프로시저를 호출하는 코드를 추가합니다.Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Test() ' Test the class. End Sub
F5를 눌러
Test
프로시저를 실행합니다. “Prop1이 9로 설정되었습니다.”라는 메시지가 표시됩니다. 확인을 클릭하면 “Method1의 X 매개 변수는 5입니다.”라는 메시지가 표시됩니다. 확인을 클릭하면 “이벤트 처리기가 이벤트를 포착했습니다.”라는 메시지가 표시됩니다.
참고 항목
.NET