다음을 통해 공유


Visual Basic의 변수 선언

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

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

선언 수준

로컬 및 멤버 변수

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

공유 및 인스턴스 변수

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

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

데이터 형식 선언

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

  • 기본 데이터 형식, 예를 들어 Boolean, Long, 또는 Decimal

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

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

  • .NET Framework 클래스(예:LabelTextBox

  • 인터페이스 형식(예:IComparableIDisposable

데이터 형식을 반복하지 않고도 한 문에서 여러 변수를 선언할 수 있습니다. 다음 문에서 변수 i, j, k는 형식 Integer로 선언되고, l, mLong로, xySingle로 선언됩니다.

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 InferOn으로 설정해야 합니다. 자세한 내용은 로컬 형식 유추옵션 유추 문을 참조하세요.

선언된 변수의 특징

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

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

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

참고하십시오