다음을 통해 공유


방법: 구조체 선언(Visual Basic)

Structure Statement사용하여 구조체 선언을 시작하고 End Structure 문으로 종료합니다. 이 두 문 사이에 하나 이상의 요소를 선언해야. 요소는 모든 데이터 형식일 수 있지만 하나 이상의 요소는 공유되지 않는 변수 또는 공유되지 않는 비사용자 이벤트여야 합니다.

구조체 선언의 구조체 요소는 초기화할 수 없습니다. 변수를 구조체 형식으로 선언하는 경우 변수를 통해 해당 변수에 액세스하여 요소에 값을 할당합니다.

구조체와 클래스 간의 차이점에 대한 자세한 내용은 구조체 및 클래스참조하세요.

데모를 위해 직원의 이름, 전화 연장 및 급여를 추적하려는 상황을 고려합니다. 구조를 사용하면 단일 변수에서 이 작업을 수행할 수 있습니다.

구조를 선언하려면

  1. 구조체의 시작 및 끝 문을 만듭니다.

    Public, Protected, Friend또는 Private 키워드를 사용하여 구조체의 액세스 수준을 지정하거나 기본값으로 Public수 있습니다.

    Private Structure employee  
    End Structure  
    
  2. 구조체의 본문에 요소를 추가합니다.

    구조체에는 하나 이상의 요소가 있어야 합니다. 모든 요소를 선언하고 해당 요소에 대한 액세스 수준을 지정해야 합니다. 키워드 없이 Dim 문 사용하는 경우 접근성은 기본적으로 Public.

    Private Structure employee  
        Public givenName As String  
        Public familyName As String  
        Public phoneExtension As Long  
        Private salary As Decimal  
        Public Sub giveRaise(raise As Double)  
            salary *= raise  
        End Sub  
        Public Event salaryReviewTime()  
    
        ' Method to raise the event
        Public Sub TriggerSalaryReview()
            RaiseEvent salaryReviewTime()
        End Sub
    End Structure  
    

    앞의 예제에서 salary 필드는 Private. 즉, 포함하는 클래스에서도 구조 외부에서 액세스할 수 없습니다. 그러나 giveRaise 프로시저는 Public구조 외부에서 호출할 수 있는 것입니다. 마찬가지로, 구조 내의 메서드를 호출하여 간접적으로 salaryReviewTime 이벤트를 발생시킬 수 있습니다. 예를 들어:

    Public Sub TriggerSalaryReview()
        RaiseEvent salaryReviewTime()
    End Sub
    

    이렇게 하면 이벤트가 발생하는 방법과 시기를 제어하면서 구조 외부에서 직접 이벤트에 액세스할 수 없도록 할 수 있습니다.

    변수, Sub 프로시저 및 이벤트 외에도 구조체에서 상수, Function 프로시저 및 속성을 정의할 수도 있습니다. 하나 이상의 인수가 필요한 경우 최대 하나의 속성을 기본 속성지정할 수 있습니다. 공유Sub 프로시저를 사용하여 이벤트를 처리할 수 있습니다. 자세한 내용은 방법: Visual Basic기본 속성 선언 및 호출을 참조하세요.

참조