Visual Basic의 변수 선언

변수를 선언하여 해당 이름과 특성을 지정합니다. 변수에 대한 선언문은 Dim 문입니다. 해당 위치와 내용에 따라 변수의 특성이 결정됩니다.

변수 명명 규칙 및 고려 사항은 선언된 요소 이름을 참조하세요.

선언 수준

지역 및 멤버 변수

지역 변수는 프로시저 내에서 선언된 변수입니다. 멤버 변수는 Visual Basic 형식의 멤버입니다. 클래스, 구조체 또는 모듈 내의 모듈 수준에서 선언되지만 해당 클래스, 구조체 또는 모듈 내부 프로시저 내에 선언되지는 않습니다.

공유 및 인스턴스 변수

클래스 또는 구조체에서 멤버 변수의 범주는 공유 여부에 따라 달라집니다. 공유 키워드를 사용하여 선언된 경우 공유 변수이며 클래스 또는 구조체의 모든 인스턴스 간에 공유되는 단일 복사본에 존재합니다.

그렇지 않으면 인스턴스 변수이고 클래스 또는 구조체의 각 인스턴스에 대해 별도의 복사본이 만들어집니다. 인스턴스 변수의 지정된 복사본은 생성된 클래스 또는 구조체의 인스턴스에서만 사용할 수 있습니다. 클래스 또는 구조체의 다른 인스턴스에 있는 인스턴스 변수의 복사본과는 독립적입니다.

데이터 형식 선언

선언문의 As 절을 사용하면 선언하는 변수의 데이터 형식 또는 개체 형식을 정의할 수 있습니다. 변수에 대해 다음 형식을 지정할 수 있습니다.

  • 기본 데이터 형식(예: Boolean, Long 또는 Decimal)

  • 배열 또는 구조체와 같은 복합 데이터 형식

  • 애플리케이션 또는 다른 애플리케이션에서 정의된 개체 형식 또는 클래스

  • .NET Framework 클래스(예: Label 또는 TextBox)

  • 인터페이스 형식(예: IComparable 또는 IDisposable)

데이터 형식을 반복하지 않고도 한 문에서 여러 변수를 선언할 수 있습니다. 다음 문에서 변수 i, jk(은)는 형식 Integer(으)로, lm(은)는 Long(으)로 그리고 xy(은)는 Single 형식으로 선언됩니다.

Dim i, j, k As Integer  
' All three variables in the preceding statement are declared as Integer.  
Dim l, m As Long, x, y As Single  
' In the preceding statement, l and m are Long, x and y are Single.  

데이터 형식에 대한 자세한 내용은 데이터 형식을 참조하세요. 개체에 대한 자세한 내용은 개체 및 클래스구성 요소를 사용한 프로그래밍을 참조하세요.

지역 형식 유추

형식 유추As 절 없이 선언된 지역 변수의 데이터 형식을 결정하는 데 사용됩니다. 컴파일러는 초기화 식의 형식에서 변수의 형식을 유추합니다. 이렇게 하면 형식을 명시적으로 명시하지 않고 변수를 선언할 수 있습니다. 다음 예제에서는 num1num2 모두 정수로 강력하게 형식이 지정됩니다.

Public Sub inferenceExample()

    ' Using explicit typing.
    Dim num1 As Integer = 3

    ' Using local type inference.
    Dim num2 = 3

End Sub

지역 형식 유추를 사용하려면 Option Infer(이)가 On(으)로 설정되어야 합니다. 자세한 내용은 지역 형식 유추Option Infer 문을 참조하세요.

선언된 변수의 특징

변수의 수명은 사용할 수 있는 기간입니다. 일반적으로 변수를 선언하는 요소(예: 프로시저 또는 클래스)가 계속 존재하는 한 변수가 존재합니다. 변수가 포함된 요소의 수명 이후에도 계속 존재할 필요가 없으면 선언에서 특별한 작업을 수행할 필요가 없습니다. 변수가 포함된 요소보다 더 오래 존재해야 하는 경우 Dim 문에 Static 또는 Shared 키워드를 포함할 수 있습니다. 자세한 내용은 Visual Basic 수명을 참조하세요.

변수의 범위는 이름을 한정하지 않고 참조할 수 있는 모든 코드의 집합입니다. 변수의 범위는 선언된 위치에 따라 결정됩니다. 지정된 지역에 있는 코드는 이름을 한정할 필요 없이 해당 지역에 정의된 변수를 사용할 수 있습니다. 자세한 내용은 Scope in Visual Basic을 참조하세요.

변수의 액세스 수준은 액세스 권한이 있는 코드의 범위입니다. 이는 Dim 문에서 사용하는 액세스 한정자(예: Public 또는 Private)에 의해 결정됩니다. 자세한 내용은 Visual Basic 액세스 수준을 참조하세요.

참고 항목