Visual Basic의 Me, My, MyBase 및 MyClass

Visual Basic의 Me, My, MyBaseMyClass는 이름이 비슷하지만 용도가 다릅니다. 이 항목에서는 이러한 엔터티를 구분하기 위해 각 엔터티를 설명합니다.

본인

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 기능은 다양한 .NET Framework 클래스에 대한 쉽고 직관적인 액세스를 제공하므로 Visual Basic 사용자가 컴퓨터, 애플리케이션, 설정, 리소스 등과 상호 작용할 수 있습니다. 이러한 클래스 목록을 보려면 Visual Basic 런타임 개체 참조를 확인합니다.

MyBase

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

MyClass

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

참고 항목