다음을 통해 공유


할당문

업데이트: 2007년 11월

할당문은 할당 연산을 수행합니다. 다음 예제에서와 같이 할당 연산은 할당 연산자(=)의 오른쪽에 있는 값을 왼쪽에 있는 요소에 저장합니다.

v = 42

위의 예제에서 할당문은 리터럴 값 42를 변수 v에 저장합니다.

적합한 프로그래밍 요소

할당 연산자의 왼쪽에 있는 프로그래밍 요소는 값을 받아 저장할 수 있어야 합니다. 즉, ReadOnly(Visual Basic)가 아닌 변수나 속성 또는 배열 요소여야 합니다. 할당문의 컨텍스트에서 이러한 요소의 "왼쪽 값"을 lvalue라고도 합니다.

할당 연산자의 오른쪽에 있는 값은 식에 의해 생성되며 이러한 값은 리터럴, 상수, 변수, 속성, 배열 요소, 기타 식 또는 함수 호출의 조합이 될 수 있습니다. 다음은 이에 대한 예입니다.

x = y + z + findResult(3)

위의 예제에서는 y 변수에 저장된 값을 z 변수에 저장된 값에 추가한 다음 호출에서 반환된 값을 findResult 함수에 추가합니다. 그런 다음 이 식의 전체 값을 x 변수에 저장합니다.

할당문의 데이터 형식

다음 예제에서와 같이 할당 연산자는 숫자 값 외에 String 값도 할당할 수 있습니다.

Dim a, b As String
a = "String variable assignment"
b = "Con" & "cat" & "enation"
' The preceding statement assigns the value "Concatenation" to b.

또한 다음 예제에서와 같이 Boolean 리터럴 또는 Boolean 식을 사용하여 Boolean 값을 할당할 수 있습니다.

Dim r, s, t As Boolean
r = True
s = 45 > 1003
t = 45 > 1003 Or 45 > 17
' The preceding statements assign False to s and True to t.

마찬가지로 Char, Date 또는 Object 데이터 형식의 프로그래밍 요소에 적절한 값을 할당할 수 있습니다. 또한 인스턴스가 만들어진 클래스로 선언된 요소에 개체 인스턴스를 할당할 수 있습니다.

복합 할당문

복합 할당문은 식을 프로그래밍 요소에 할당하기 전에 먼저 해당 식에 대해 연산을 수행합니다. 다음 예제에서는 이러한 연산자 중 하나인 += 연산자를 보여 줍니다. 이 연산자는 오른쪽에 있는 식의 값을 기준으로 연산자의 왼쪽에 있는 변수의 값을 증가시킵니다.

n += 1

위의 예제에서는 n 값에 1을 더한 다음 새 값을 n에 저장합니다. 이것은 다음 문과 동일합니다.

n = n + 1

이 형식의 연산자를 사용하여 다양한 복합 할당 연산을 수행할 수 있습니다. 이러한 연산자에 대한 자세한 내용 및 목록은 할당 연산자를 참조하십시오.

다음 예제에서와 같이 기존에 이미 있는 문자열의 끝에 문자열을 추가하는 경우 연결 할당 연산자(&=)가 유용합니다.

Dim q As String = "Sample "
q &= "String"
' q now contains "Sample String".

할당문의 형식 변환

변수, 속성 또는 배열 요소에 할당하는 값은 해당 대상 요소에 적합한 데이터 형식이어야 합니다. 일반적으로 대상 요소의 데이터 형식과 동일한 데이터 형식의 값을 생성하는 것이 좋습니다. 그러나 일부 형식은 할당을 수행하는 동안 다른 형식으로 변환될 수 있습니다.

데이터 형식 변환에 대한 자세한 내용은 Visual Basic의 형식 변환을 참조하십시오. 간단히 요약하면 Visual Basic에서는 지정된 형식의 값을 임의의 다른 형식으로 확대 변환합니다. 확대 변환은 런타임에 항상 성공하며 이로 인해 데이터가 손실되지 않습니다. 예를 들어, Integer가 Double로 확대 변환되므로 Visual Basic에서는 적합한 경우 Integer 값을 Double로 변환합니다. 자세한 내용은 확대 변환과 축소 변환을 참조하십시오.

축소 변환(확대 변환되지 않는 변환)은 런타임에 실패할 수 있으며 이로 인해 데이터가 손실될 수 있습니다. 형식 변환 함수를 사용하여 명시적으로 축소 변환을 수행하거나 Option Strict Off를 설정하여 컴파일러가 모든 변환을 암시적으로 수행하도록 할 수 있습니다. 자세한 내용은 암시적 변환과 명시적 변환을 참조하십시오.

참고 항목

개념

문 개요

Visual Basic의 선언문

실행문

확대 변환과 축소 변환

참조

할당 연산자