다음을 통해 공유


초기 바인딩 및 지연 바인딩(Visual Basic)

Visual Basic 컴파일러는 개체가 개체 변수에 할당된 경우 호출 binding 되는 프로세스를 수행합니다. 개체는 특정 개체 형식으로 선언된 변수에 할당될 때 초기 바인딩 됩니다. 초기 바인딩된 개체를 사용하면 애플리케이션이 실행되기 전에 컴파일러가 메모리를 할당하고 다른 최적화를 수행할 수 있습니다. 예를 들어 다음 코드 조각은 변수를 형식 FileStream으로 선언합니다.

'  Create a variable to hold a new object.
Dim FS As System.IO.FileStream
' Assign a new object to the variable.
FS = New System.IO.FileStream("C:\tmp.txt",
    System.IO.FileMode.Open)

FileStream 특정 개체 형식이므로 할당된 FS 인스턴스는 초기 바인딩됩니다.

반면 개체는 형식으로 선언된 변수에 할당될 때 Object됩니다. 이 형식의 개체는 모든 개체에 대한 참조를 보유할 수 있지만 초기 바인딩된 개체의 장점은 많지 않습니다. 예를 들어 다음 코드 조각은 함수에서 반환된 개체를 보유하도록 개체 변수를 CreateObject 선언합니다.

' To use this example, you must have Microsoft Excel installed on your computer.
' Compile with Option Strict Off to allow late binding.
Sub TestLateBinding()
    Dim xlApp As Object
    Dim xlBook As Object
    Dim xlSheet As Object
    xlApp = CreateObject("Excel.Application")
    ' Late bind an instance of an Excel workbook.
    xlBook = xlApp.Workbooks.Add
    ' Late bind an instance of an Excel worksheet.
    xlSheet = xlBook.Worksheets(1)
    xlSheet.Activate()
    ' Show the application.
    xlSheet.Application.Visible = True
    ' Place some text in the second row of the sheet.
    xlSheet.Cells(2, 2) = "This is column B row 2"
End Sub

초기 바인딩의 장점

컴파일러가 보다 효율적인 애플리케이션을 생성하는 중요한 최적화를 만들 수 있으므로 가능하면 언제든지 초기 바인딩된 개체를 사용해야 합니다. 초기 바인딩된 개체는 런타임에 바인딩된 개체보다 훨씬 빠르며 어떤 종류의 개체가 사용되고 있는지 정확하게 설명하여 코드를 더 쉽게 읽고 유지 관리할 수 있습니다. 초기 바인딩의 또 다른 장점은 IDE(Visual Studio 통합 개발 환경)가 코드를 편집할 때 작업 중인 개체 유형을 정확하게 결정할 수 있기 때문에 자동 코드 완성 및 동적 도움말과 같은 유용한 기능을 사용할 수 있다는 것입니다. 초기 바인딩은 프로그램을 컴파일할 때 컴파일러가 오류를 보고할 수 있으므로 런타임 오류의 수와 심각도를 줄입니다.

비고

지연 바인딩은 로 선언된 Public형식 멤버에 액세스하는 데만 사용할 수 있습니다. Friend 또는 Protected Friend로 선언된 멤버에 액세스하면 런타임 오류가 발생합니다.

참고하십시오