Visual Basic에는 참조 형식과 값 형식의 두 가지 유형이 있습니다. 참조 형식의 변수는 해당 데이터(개체)에 대한 참조를 저장하지만 값 형식의 변수에는 해당 데이터가 직접 포함됩니다. 참조 형식에서는 두 가지 변수가 같은 개체를 참조할 수 있으므로 한 변수에 대한 작업이 다른 변수에서 참조하는 개체에 영향을 미칠 수 있습니다. 값 형식을 사용하면 각 변수에 고유한 데이터 복사본이 있으며 한 변수에 대한 작업이 다른 변수에 영향을 줄 수 없습니다( 매개 변수에 대한 ByRef 한정자의 경우 제외).
값 형식
데이터 형식은 자체 메모리 할당 내에서 데이터를 보유하는 경우 값 형식 입니다. 값 형식에는 다음이 포함됩니다.
모든 숫자 데이터 형식
Boolean
,Char
및Date
멤버가 참조 형식인 경우에도 모든 구조체
열거형은 기본 형식이 항상
SByte
,Short
,Integer
,Long
,Byte
,UShort
,UInteger
또는ULong
모든 구조체는 참조 형식 멤버를 포함하는 경우에도 값 형식입니다. 이러한 이유로 Char
및 Integer
같은 값 형식은 .NET Framework 구조체로 구현됩니다.
예를 들어 Decimal
예약된 키워드를 사용하여 값 형식을 선언할 수 있습니다. 키워드를 New
사용하여 값 형식을 초기화할 수도 있습니다. 이는 형식에 매개 변수를 사용하는 생성자가 있는 경우에 특히 유용합니다. 이 예제는 Decimal(Int32, Int32, Int32, Boolean, Byte) 제공된 부분에서 새 Decimal
값을 빌드하는 생성자입니다.
참조 형식
참조 형식은 해당 데이터에 대한 참조를 저장합니다. 참조 형식은 다음과 같습니다.
String
요소가 값 형식인 경우에도 모든 배열
클래스 형식(예: Form
대표자
클래스는 참조 형식입니다. 멤버가 값 형식인 경우에도 모든 배열은 참조 형식입니다.
모든 참조 형식은 기본 .NET Framework 클래스를 나타내므로 초기화할 때 새 연산자 키워드를 사용해야 합니다. 다음 문은 배열을 초기화합니다.
Dim totals() As Single = New Single(8) {}
형식이 아닌 요소
선언된 요소의 데이터 형식으로 지정할 수 없으므로 다음 프로그래밍 요소는 형식으로 한정되지 않습니다.
네임스페이스
모듈
이벤트
속성 및 프로시저
변수, 상수 및 필드
개체 데이터 형식 작업
참조 형식 또는 값 형식을 데이터 형식의 변수에 Object
할당할 수 있습니다. 변수는 Object
항상 데이터 자체가 아닌 데이터에 대한 참조만을 보유합니다. 그러나 변수에 값 형식을 Object
할당하면 변수가 자체 데이터를 보유하는 것처럼 동작합니다. 자세한 내용은 개체 데이터 형식을 참조하세요.
변수를 Object
네임스페이스 클래스의 IsReference 메서드 Information 에 전달 Microsoft.VisualBasic 하여 변수가 참조 형식 또는 값 형식으로 동작하는지 여부를 확인할 수 있습니다.
Information.IsReference는 True
변수의 내용이 참조 형식을 나타내는 경우 Object
을 반환합니다.
참고하십시오
.NET