다음을 통해 공유


방법: 클래스에 필드 및 속성 추가

업데이트: 2007년 11월

필드 및 속성을 사용하여 개체에 정보를 저장할 수 있습니다. 클라이언트-응용 프로그램 측면에서는 필드와 속성을 거의 구분할 수 없지만 클래스 내에서는 다르게 선언됩니다. 필드는 클래스가 노출하는 단순한 public 변수이지만 속성은 값을 설정하거나 반환하는 방법을 제어하기 위해 Property 프로시저를 사용합니다.

클래스에 필드를 추가하려면

  • 다음 코드와 같이 클래스 정의에서 Public 변수를 선언합니다.

    Class ThisClass
        Public ThisField As String
    End Class
    

클래스에 속성을 추가하려면

  1. 클래스 내에서 속성 값을 저장할 지역 변수를 선언합니다. 속성이 자체적으로 저장소를 할당하지 않기 때문에 이 단계가 필요합니다. 값이 직접 수정되지 않게 하려면 속성 값을 저장하는 데 사용되는 변수를 Private으로 선언해야 합니다.

  2. 속성 선언 앞에 Public 및 Shared와 같은 적절한 한정자를 붙입니다. Property 키워드를 사용하여 속성 이름을 선언하고 속성이 저장하고 반환하는 데이터 형식을 선언합니다.

  3. 속성 정의 내에 Get 및 Set 속성 프로시저를 정의합니다. Get 속성 프로시저는 속성 값을 반환하는 데 사용되며, 구문은 함수와 대체로 동일합니다. 이 프로시저는 인수를 받지 않으며, 속성 값을 저장하는 데 사용되는 클래스 내에 선언된 전용 지역 변수 값을 반환하는 데 사용할 수 있습니다. Set 속성 프로시저는 속성 값을 설정하는 데 사용되며, 일반적으로 해당 속성과 데이터 형식이 동일한 Value라는 매개 변수를 갖습니다. 속성 값이 변경될 때마다 Value가 Set 속성 프로시저에 전달되고 유효성을 검사한 다음 지역 변수에 저장됩니다.

  4. End Get 및 End Set 문을 적절하게 사용하여 Get 및 Set 속성 프로시저를 종료합니다.

  5. End Property 문으로 속성 블록을 종료합니다.

    참고:

    Visual Studio IDE(통합 개발 환경)에서 작업하는 경우에는 빈 Get 및 Set 속성 프로시저를 만들도록 지정할 수 있습니다. Property PropName As DataType(여기서 PropName은 속성 이름이고 DataType은 Integer 등의 특정 데이터 형식)을 입력하면 속성 프로시저가 코드 편집기에 나타납니다.

    다음 예제에서는 클래스에서 속성을 선언합니다.

    Class ThisClass
        Private m_PropVal As String
        Public Property One() As String
            Get
                ' Return the value stored in the local variable.
                Return m_PropVal
            End Get
            Set(ByVal Value As String)
                ' Store the value in a local variable.
                m_PropVal = Value
            End Set
        End Property
    End Class
    

    ThisClass의 인스턴스를 만들고 속성 One의 값을 설정하면 Set 속성 프로시저가 호출되고, 해당 값은 Value 매개 변수에 전달되어 m_PropVal이라는 지역 변수에 저장됩니다. 이 속성의 값이 검색될 때 함수처럼 Get 속성 프로시저가 호출되고 지역 변수 m_PropVal.에 저장된 값이 반환됩니다.

참고 항목

작업

방법: 클래스에 이벤트 추가

개념

속성 및 속성 프로시저

참조

Property 문

Public(Visual Basic)

Shared(Visual Basic)