Visual Basic의 Me, My, MyBase 및 MyClass

Visual Basic의 Me, My, MyBase 및 MyClass는 이름이 비슷하지만 용도가 다릅니다. 이 항목에서는 이러한 엔터티를 구별할 수 있도록 각 엔터티에 대해 설명합니다.

Me

Me 키워드를 사용하면 코드에서 현재 실행하고 있는 클래스 또는 구조체의 특정 인스턴스를 참조할 수 있습니다. Me는 현재 인스턴스를 참조하는 개체 변수나 구조체 변수처럼 동작합니다. 다른 클래스, 구조체 또는 모듈의 프로시저에 현재 실행 중인 클래스나 구조체의 인스턴스에 대한 정보를 전달할 때 Me를 사용하면 특히 유용합니다.

예를 들어, 모듈에 다음 프로시저가 있다고 가정합니다.

Sub ChangeFormColor(FormName As Form)
   Randomize()
   FormName.BackColor = Color.FromArgb(Rnd() * 256, Rnd() * 256, Rnd() * 256)
End Sub

이 프로시저를 호출한 다음 아래 문을 사용하여 Form 클래스의 현재 인스턴스를 인수로 전달할 수 있습니다.

ChangeFormColor(Me)

My

My 기능을 사용하면 Visual Basic 사용자가 컴퓨터, 응용 프로그램, 설정, 리소스 등과 상호 작용할 수 있는 다양한 .NET Framework 클래스에 쉽게 액세스할 수 있습니다.

MyBase

MyBase 키워드는 현재 클래스 인스턴스의 기본 클래스를 참조하는 개체 변수처럼 동작합니다. MyBase는 파생 클래스에서 재정의되거나 숨겨진 기본 클래스 멤버에 액세스하는 데 주로 사용됩니다. MyBase.New는 파생 클래스 생성자에서 명시적으로 기본 클래스 생성자를 호출하는 데 사용됩니다.

MyClass

MyClass 키워드는 원래 구현된 상태의 현재 클래스 인스턴스를 참조하는 개체 변수처럼 동작합니다. MyClass는 Me와 유사하지만 MyClass의 모든 메서드 호출은 해당 메서드가 NotOverridable인 것처럼 처리됩니다.

참고 항목

개념

상속 기본 사항(Visual Basic)