복합 데이터 형식(Visual Basic)

기본 데이터 형식 Visual Basic 공급 외에도 다양한 형식의 항목을 어셈블하여 구조체, 배열, 클래스와 같은 복합 데이터 형식을 만들 수도 있습니다. 기본 형식 및 다른 복합 형식에서 복합 데이터 형식을 빌드할 수 있습니다. 예를 들어 구조체 요소의 배열 또는 배열 멤버가 있는 구조체를 정의할 수 있습니다.

데이터 형식

복합 형식은 해당 구성 요소의 데이터 형식과 다릅니다. 예를 들어 Integer 요소의 배열은 Integer 데이터 형식이 아닙니다.

배열 데이터 형식은 일반적으로 필요에 따라 요소 형식, 괄호, 쉼표로 표현됩니다. 예를 들어 String 요소의 1차원 배열은 String()으로 표시되고, Boolean 요소의 2차원 배열은 Boolean(,)으로 표시됩니다.

구조체 형식

모든 구조체를 구성하는 단일 데이터 형식은 없습니다. 대신, 두 구조체가 동일한 순서로 동일한 요소를 정의하더라도 구조체의 각 정의는 고유한 데이터 형식을 나타냅니다. 그러나 동일한 구조체의 인스턴스를 두 개 이상 만드는 경우 Visual Basic은 이를 동일한 데이터 형식으로 간주합니다.

튜플

튜플은 형식이 미리 정의된 둘 이상의 필드를 포함하는 경량 구조체입니다. 튜플은 Visual Basic 2017부터 지원됩니다. 튜플은 더 무거운 클래스 또는 구조체에서 반환된 필드를 참조하거나 패키징하여 인수를 전달하지 않고도 단일 메서드 호출에서 여러 값을 반환하는 데 가장 일반적으로 사용됩니다. 튜플에 대한 자세한 내용은 튜플 항목을 참조하세요.

배열 형식

모든 배열을 구성하는 단일 데이터 형식은 없습니다. 배열의 특정 인스턴스의 데이터 형식은 다음에 의해 결정됩니다.

  • 배열이라는 사실

  • 배열의 순위(차원 수)

  • 배열의 요소 형식

특히 지정된 차원의 길이는 인스턴스의 데이터 형식에 속하지 않습니다. 다음 예제에서는 이것을 보여 줍니다.

Dim arrayA( ) As Byte = New Byte(12) {}  
Dim arrayB( ) As Byte = New Byte(100) {}  
Dim arrayC( ) As Short = New Short(100) {}  
Dim arrayD( , ) As Short  
Dim arrayE( , ) As Short = New Short(4, 10) {}  

앞의 예제에서 배열 변수 arrayAarrayB는 서로 다른 길이로 초기화되더라도 동일한 데이터 형식 Byte()로 간주됩니다. 변수 arrayBarrayC는 요소 형식이 다르기 때문에 형식이 같지 않습니다. 변수 arrayCarrayD는 순위가 다르기 때문에 형식이 같지 않습니다. 변수는 arrayDarrayEarrayD가 아직 초기화되지 않더라도 순위와 요소 형식이 동일하기 때문에 동일한 형식 Short(,)를 갖습니다.

배열에 대한 자세한 내용은 배열을 참조하세요.

클래스 형식

모든 클래스를 구성하는 단일 데이터 형식은 없습니다. 한 클래스는 다른 클래스에서 상속할 수 있지만 각각은 별도의 데이터 형식입니다. 동일한 클래스의 여러 인스턴스는 동일한 데이터 형식입니다. 한 클래스 인스턴스 변수를 다른 클래스 인스턴스 변수에 할당하는 경우 동일한 데이터 형식을 가질 뿐만 아니라 메모리의 동일한 클래스 인스턴스를 가리킵니다.

클래스에 대한 자세한 내용은 개체 및 클래스를 참조하세요.

참고 항목