방법: 개체 이니셜라이저를 사용하여 개체 선언(Visual Basic)

개체 이니셜라이저를 사용하면 단일 문에서 클래스의 인스턴스를 선언하고 인스턴스화할 수 있습니다. 또한 매개 변수가 있는 생성자를 호출하지 않고 인스턴스의 하나 이상의 멤버를 동시에 초기화할 수 있습니다.

개체 이니셜라이저를 사용하여 명명된 형식의 인스턴스를 만들면 클래스에 대한 매개 변수가 없는 생성자가 호출되고 지정한 순서대로 지정된 멤버가 초기화됩니다.

다음 절차에서는 세 가지 방법으로 Student 클래스의 인스턴스를 만드는 방법을 보여 줍니다. 클래스에는 이름, 성, 클래스 연도 속성 등이 있습니다. 세 선언은 각각 Student의 새 인스턴스를 만들고 First 속성이 “Michael”으로 설정되고 Last 속성이 “Tucker”로 설정되고 다른 모든 멤버는 기본값으로 설정됩니다. 프로시저의 각 선언 결과는 개체 이니셜라이저를 사용하지 않는 다음 예제와 동일합니다.

Dim student0 As New Student
With student0
    .First = "Michael"
    .Last = "Tucker"
End With

Student 클래스의 구현은 방법: 항목 목록 만들기를 참조하세요. 해당 항목의 코드를 복사하여 클래스를 설정하고 작업할 Student 개체 목록을 만들 수 있습니다.

개체 이니셜라이저를 사용하여 명명된 클래스의 개체를 만들려면

  1. 생성자를 사용하려는 것처럼 선언을 시작합니다.

    Dim student1 As New Student

  2. With 키워드를 입력한 다음 중괄호로 초기화 목록을 입력합니다.

    Dim student1 As New Student With { <initialization list> }

  3. 초기화 목록에서 초기화하려는 각 속성을 포함하고 초기 값을 할당합니다. 속성 이름 앞에 마침표가 있습니다.

    Dim student1 As New Student With {.First = "Michael", 
                                      .Last = "Tucker"}
    

    하나 이상의 클래스 멤버를 초기화할 수 있습니다.

  4. 또는 클래스의 새 인스턴스를 선언한 다음, 값을 할당할 수 있습니다. 먼저 Student의 인스턴스를 선언합니다.

    Dim student2 As Student

  5. 일반적인 방식으로 Student의 인스턴스 만들기를 시작합니다.

    Dim student2 As Student = New Student

  6. With을 입력한 다음, 개체 이니셜라이저를 입력하여 새 인스턴스의 하나 이상의 멤버를 초기화합니다.

    Dim student2 As Student = New Student With {.First = "Michael", 
                                                .Last = "Tucker"}
    
  7. As Student를 생략하여 이전 단계에서 정의를 간소화할 수 있습니다. 이 작업을 수행하는 경우 컴파일러는 로컬 형식 유추를 사용하여 student3Student의 인스턴스임을 확인합니다.

    Dim student3 = New Student With {.First = "Michael", 
                                     .Last = "Tucker"}
    

    자세한 내용은 지역 형식 유추를 참조하세요.

참고 항목