기본 속성

업데이트: 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 사용자를 위한 기본 속성 변경 사항

참조

Default(Visual Basic)