연습: 클래스 정의(Visual Basic)

이 연습에서는 클래스를 정의한 다음 개체를 만드는 데 사용할 수 있는 방법을 보여 줍니다. 또한 새 클래스에 속성 및 메서드를 추가하는 방법과 개체를 초기화하는 방법을 보여 줍니다.

참고 항목

일부 Visual Studio 사용자 인터페이스 요소의 경우 다음 지침에 설명된 것과 다른 이름 또는 위치가 시스템에 표시될 수 있습니다. 이러한 요소는 사용하는 Visual Studio 버전 및 설정에 따라 결정됩니다. 자세한 내용은 IDE 개인 설정을 참조하세요.

클래스를 정의하려면

  1. 파일 메뉴에서 새 프로젝트를 클릭하여 프로젝트를 만듭니다. 새 프로젝트 대화 상자가 나타납니다.

  2. Visual Basic 프로젝트 템플릿 목록에서 Windows 애플리케이션을 선택하여 새 프로젝트를 표시합니다.

  3. 프로젝트 메뉴에서 클래스 추가를 클릭하여 프로젝트에 새 클래스를 추가합니다. 새 항목 추가 대화 상자가 나타납니다.

  4. 클래스 템플릿을 선택합니다.

  5. 새 클래스 UserNameInfo.vb의 이름을 지정한 다음 추가를 클릭하여 새 클래스의 코드를 표시합니다.

    Public Class UserNameInfo
    End Class
    

    참고 항목

    Visual Basic 코드 편집기를 사용하여 Class 키워드와 새 클래스의 이름을 입력하여 시작 양식에 클래스를 추가할 수 있습니다. 코드 편집기에서 해당 End Class 문을 제공합니다.

  6. Class 문과 End Class 문 사이에 다음 코드를 추가하여 클래스에 대한 프라이빗 필드를 정의합니다.

    Private userNameValue As String
    

    필드를 Private(으)로 선언하면 클래스 내에서만 사용할 수 있음을 의미합니다. 더 많은 액세스를 제공하는 Public과(와) 같은 액세스 한정자를 사용하여 클래스 외부에서 필드를 사용할 수 있도록 할 수 있습니다. 자세한 내용은 Visual Basic 액세스 수준을 참조하세요.

  7. 다음 코드를 추가하여 클래스에 대한 속성을 정의합니다.

    Public Property UserName() As String
        Get
            ' Gets the property value.
            Return userNameValue
        End Get
        Set(ByVal Value As String)
            ' Sets the property value.
            userNameValue = Value
        End Set
    End Property
    
  8. 다음 코드를 추가하여 클래스에 대한 메서드를 정의합니다.

    Public Sub Capitalize()
        ' Capitalize the value of the property.
        userNameValue = UCase(userNameValue)
    End Sub
    
  9. Sub New(이)라는 프로시저를 추가하여 새 클래스에 대한 매개 변수화된 생성자를 정의합니다.

    Public Sub New(ByVal UserName As String)
        ' Set the property value.
        Me.UserName = UserName
    End Sub
    

    이 클래스를 기반으로 하는 개체가 만들어지면 Sub New 생성자가 자동으로 호출됩니다. 이 생성자는 사용자 이름을 보유하는 필드의 값을 설정합니다.

클래스를 테스트하는 단추를 만들려면

  1. 솔루션 탐색기의 이름을 마우스 오른쪽 단추로 클릭한 다음 뷰 디자이너를 클릭하여 시작 양식을 디자인 모드로 변경합니다. 기본적으로 Windows 애플리케이션 프로젝트의 시작 양식 이름은 Form1.vb입니다. 그러면 기본 양식이 표시됩니다.

  2. 주 양식에 단추를 추가하고 두 번 클릭하여 Button1_Click 이벤트 처리기의 코드를 표시합니다. 다음 코드를 추가하여 테스트 프로시저를 호출합니다.

    ' Create an instance of the class.
    Dim user As New UserNameInfo("Moore, Bobby")
    ' Capitalize the value of the property.
    user.Capitalize()
    ' Display the value of the property.
    MsgBox("The original UserName is: " & user.UserName)
    ' Change the value of the property.
    user.UserName = "Worden, Joe"
    ' Redisplay the value of the property.
    MsgBox("The new UserName is: " & user.UserName)
    

애플리케이션을 실행하려면

  1. F5 키를 눌러 애플리케이션을 실행합니다. 양식의 단추를 클릭하여 테스트 프로시저를 호출합니다. 해당 프로시저에서 개체의 Capitalize 메서드를 호출했기 때문에 원본 UserName이(가) "MOORE, BOBBY"라는 메시지가 표시됩니다.

  2. 확인을 클릭하여 메시지 상자를 닫습니다. Button1 Click 프로시저는 UserName 속성의 값을 변경하고 UserName의 새 값이 "Worden, Joe"라는 메시지를 표시합니다.

참고 항목