기본 속성
업데이트: 2007년 11월
인수를 취하는 속성은 클래스의 기본 속성으로 선언될 수 있습니다. 기본 속성은 개체에 대해 지정된 특정 속성이 없을 때 Visual Basic에서 사용하는 속성입니다. 기본 속성을 사용하면 자주 사용되는 속성 이름이 생략되어 소스 코드를 좀 더 간략하게 만들 수 있으므로 유용합니다.
매개 변수를 취하며 가장 자주 사용되는 속성을 기본 속성으로 지정하면 좋습니다. 예를 들어, Item 속성은 자주 사용되므로 컬렉션 클래스의 기본 속성으로 지정하면 좋습니다.
기본 속성에는 다음 규칙이 적용됩니다.
하나의 형식은 기본 클래스에서 상속된 속성을 포함하여 하나의 기본 속성만 가질 수 있습니다. 그러나 이 규칙에는 한 가지 예외가 있습니다. 기본 클래스에 정의된 기본 속성이 파생된 클래스의 또 다른 기본 속성에 의해 숨겨질 수 있습니다.
기본 클래스의 기본 속성이 파생된 클래스에 있는 기본이 아닌 속성에 의해 숨겨지는 경우에도 기본 속성 구문을 사용하여 해당 기본 속성에 액세스할 수 있습니다.
기본 속성은 Shared 또는 Private일 수 없습니다.
오버로드된 속성이 기본 속성이면 동일한 이름을 갖는 오버로드된 모든 속성을 Default로 지정해야 합니다.
기본 속성은 하나 이상의 인수를 취해야 합니다.
예제
다음 예제에서는 클래스의 기본 속성으로 문자열 배열을 포함하는 속성을 선언합니다.
Class Class2
' Define a local variable to store the property value.
Private PropertyValues As String()
' Define the default property.
Default Public Property Prop1(ByVal Index As Integer) As String
Get
Return PropertyValues(Index)
End Get
Set(ByVal Value As String)
If PropertyValues Is Nothing Then
' The array contains Nothing when first accessed.
ReDim PropertyValues(0)
Else
' Re-dimension the array to hold the new element.
ReDim Preserve PropertyValues(UBound(PropertyValues) + 1)
End If
PropertyValues(Index) = Value
End Set
End Property
End Class
기본 속성 액세스
약식 구문을 사용하여 기본 속성에 액세스할 수 있습니다. 예를 들어, 다음 코드 조각에서는 표준 및 기본 속성 구문이 모두 사용됩니다.
Dim C As New Class2
' The first two lines of code access a property the standard way.
' Property assignment.
C.Prop1(0) = "Value One"
' Property retrieval.
MsgBox(C.Prop1(0))
' The following two lines of code use default property syntax.
' Property assignment.
C(1) = "Value Two"
' Property retrieval.
MsgBox(C(1))
참고 항목
개념
업그레이드 권장 사항: 매개 변수 없는 기본 속성 확인
Visual Basic 6.0 사용자를 위한 기본 속성 변경 사항