Visual Basic의 변수 선언
업데이트: 2007년 11월
변수의 이름과 특징을 지정하려면 변수를 선언합니다. 변수에 대한 선언문은 Dim 문(Visual Basic)입니다. 선언문의 위치와 내용에 따라 변수의 특징이 결정됩니다.
변수 명명 규칙 및 고려 사항에 대한 자세한 내용은 선언 요소 이름을 참조하십시오.
선언 수준
지역 및 멤버 변수
지역 변수는 프로시저 내에서 선언되는 변수이지만 멤버 변수는 Visual Basic 형식의 멤버입니다. 이 변수는 모듈 수준, 즉 클래스, 구조체 또는 모듈 내에서 선언되지만 해당 클래스, 구조체 또는 모듈의 내부 프로시저 내에서는 선언할 수 없습니다.
공유 및 인스턴스 변수
클래스 또는 구조체에서 멤버 변수의 범주는 해당 변수의 공유 여부에 따라 달라집니다. Shared 키워드로 선언된 변수는 공유 변수이며 단일 복사본의 형태로 클래스나 구조체의 모든 인스턴스 사이에서 공유됩니다.
이 이외의 변수는 인스턴스 변수이며 클래스나 구조체의 각 인스턴스에 대해 해당 변수의 개별 복사본이 만들어집니다. 인스턴스 변수의 복사본은 해당 복사본이 만들어진 인스턴스에서만 사용할 수 있습니다. 또한 다른 모든 인스턴스의 복사본으로부터 독립적입니다.
데이터 형식 선언
선언문에 As 절을 사용하면 선언하는 변수의 데이터 형식이나 개체 형식을 정의할 수 있습니다. 변수에 대해 다음과 같은 형식을 지정할 수 있습니다.
Boolean, Long 또는 Decimal 등의 기본 데이터 형식
배열 또는 구조체와 같은 복합 데이터 형식
응용 프로그램이나 다른 응용 프로그램에서 정의된 개체 형식 또는 클래스
인터페이스 형식(예: IComparable 또는 IDisposable)
데이터 형식을 반복하지 않고도 하나의 문에서 여러 개의 변수를 선언할 수 있습니다. 다음 문에서 변수 i, j 및 k는 Integer 형식으로 선언되고, 변수 l 및 m은 Long 형식으로 선언되며, 변수 x 및 y는 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.
데이터 형식에 대한 자세한 내용은 Visual Basic의 데이터 형식을 참조하십시오. 개체에 대한 자세한 내용은 Visual Basic의 개체 지향 프로그래밍 및 구성 요소를 사용한 프로그래밍을 참조하십시오.
지역 형식 유추
Visual Basic 2008에서는 형식 유추를 사용하여 As 절 없이 선언된 지역 변수의 데이터 형식을 결정합니다. 컴파일러는 초기화 식의 형식에서 변수 형식을 유추합니다. 이를 통해 형식을 명시적으로 선언하지 않고 변수를 선언할 수 있습니다. 다음 코드 예제에서 num1과 num2는 모두 정수로 강력하게 형식화되어 있습니다.
Public Sub inferenceExample()
' Using explicit typing.
Dim num1 As Integer = 3
' Using local type inference.
Dim num2 = 3
End Sub
지역 형식 유추를 사용하려면 Option Infer를 On으로 설정해야 합니다. 자세한 내용은 지역 형식 유추를 참조하십시오.
특성 선언
변수의 수명은 변수를 사용할 수 있는 기간입니다. 일반적으로 변수는 해당 변수를 선언하는 프로시저 또는 클래스 등의 요소가 존재하는 동안에만 존재합니다. 일부 경우 변수의 수명을 연장할 수 있습니다. 자세한 내용은 Visual Basic의 수명을 참조하십시오.
변수의 범위는 이름을 한정하지 않고 해당 변수를 참조할 수 있는 모든 코드 집합으로, 변수가 선언된 위치에 따라 달라집니다. 변수가 선언된 영역에 있는 코드는 변수의 이름을 한정하지 않고도 해당 변수를 사용할 수 있습니다. 자세한 내용은 Visual Basic의 범위를 참조하십시오.
변수의 액세스 수준은 변수에 액세스할 수 있는 권한이 있는 코드의 범위로, Dim 문에서 사용하는 액세스 한정자(Public(Visual Basic) 또는 Private(Visual Basic))에 의해 결정됩니다. 자세한 내용은 Visual Basic의 액세스 수준을 참조하십시오.