변환 도중 값 변경(Visual Basic)
값 형식을 변환하면 변환 대상에 소스 값의 복사본이 저장됩니다. 그러나 이 복사본은 소스 값의 정확한 이미지가 아닙니다. 대상 데이터 형식은 값을 다른 방식으로 저장하므로 수행되는 변환 종류에 따라 표시되는 값이 변경될 수도 있습니다.
확대 변환 및 축소 변환 도중 변경
축소 변환을 수행하면 소스 값의 대상 복사본이 변경되어 정보가 손실될 수도 있습니다. 예를 들어, 소수 값을 정수 계열 형식으로 변환하면 반올림되고 숫자 형식을 Boolean으로 변환하면 True나 False로 변경됩니다.
확대 변환을 수행하면 소스 값은 유지되지만 표현이 변경될 수 있습니다. 이러한 현상은 정수 계열 형식을 Decimal로 변환하거나 Char를 String으로 변환할 때 발생합니다.
원본 소스 값은 변환의 결과로 변경되지 않습니다.
참조 형식 변환 도중 변경
참조 형식을 변환할 때는 값에 대한 포인터만 복사됩니다. 값 자체는 어떤 방식으로도 복사되거나 변경되지 않습니다. 포인터를 가지고 있는 변수의 데이터 형식만 변경할 수 있습니다. 다음 예제에서는 파생된 클래스에서 기본 클래스로 데이터 형식이 변경되지만 두 변수가 가리키는 개체는 변경되지 않습니다.
' Assume class cSquare inherits from class cShape.
Dim shape As cShape
Dim square As cSquare = New cSquare
' The following statement performs a widening
' conversion from a derived class to its base class.
shape = square
참고 항목
작업
방법: Visual Basic에서 Object를 다른 형식으로 변환
참조
개념
문자열과 다른 형식 사이의 변환(Visual Basic)