이종 배열의 클래스는 계층 구조 상에서 배열의 모든 객체가 공통적으로 속하는 가장 구체적인 슈퍼클래스가 됩니다. 예를 들어, 다음과 같은 클래스 계층 구조를 정의한다고 가정하겠습니다.
LeafA
의 인스턴스와 LeafB
의 인스턴스로 이루어진 배열을 구성하면 Middle
클래스의 배열이 생성됩니다.
LeafC
의 인스턴스와 LeafD
의 인스턴스로 이루어진 배열을 구성하면 HierarchyRoot
클래스의 배열이 생성됩니다.
LeafA
의 인스턴스와 LeafA
의 또 다른 인스턴스로 이루어진 배열을 구성하면 LeafA
클래스의 동종 배열이 생성됩니다.
이종 배열(Heterogeneous Array) 구성에 대한 제한 사항동일한 계층 구조 루트(예: 앞에 나와 있는 계층 구조의 HierarchyRoot
클래스)에서 파생된 객체만 사용하여 이종 배열을 구성할 수 있습니다.
여러 슈퍼클래스에서 파생된 객체를 사용하여 이종 배열을 구성할 수 있습니다. 단, 계층 구조에서 하나의 브랜치만 이종 루트를 정의할 수 있습니다.
이종 배열 구성이종 배열은 이종 계층 구조에서 두 개 이상의 클래스 인스턴스를 갖는 배열을 생성하는 연산의 결과물입니다. 일반적으로 이 연산은 결합 또는 인덱스 참조 값 할당입니다. 예를 들어, 다음과 같은 명령문은 인덱스 참조 값 할당을 사용하여 이종 배열을 구성합니다.
배열 확장으로 인한 클래스 변경matlab.mixin.Heterogeneous
에서 파생된 객체를 포함하는 배열에 새 객체를 할당하면 배열의 클래스가 변경될 수 있습니다. 예를 들어, LeafA
클래스의 객체만 포함하는 동종 배열이 있다고 가정하겠습니다.
동일한 루트에서 파생된 다른 클래스의 객체를 동종 배열에 추가하면 배열의 클래스가 가장 구체적인 슈퍼클래스로 변환됩니다.