Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

빈 배열

빈 배열 생성하기

빈 배열은 요소를 가지지 않지만, 특정 클래스입니다. 모든 비추상 클래스에는 동일한 클래스로 구성된 빈 배열을 생성하는 empty라는 정적 메서드가 있습니다. empty 메서드를 사용하면 출력 배열의 차원을 지정할 수 있습니다. 하지만 적어도 하나의 차원은 0이어야 합니다. 예를 들어, SimpleValue 클래스를 정의해 보겠습니다.

classdef SimpleValue
   properties
      Value
   end
   methods
      function obj = SimpleValue(v)
         if nargin > 0
            obj.Value = v;
         end
      end
   end
end

클래스가 SimpleValue인 빈 5x0 배열을 생성합니다.

ary = SimpleValue.empty(5,0)
ary = 

  5x0 SimpleValue array with properties:

    Value

인수 없이 empty를 호출하면 빈 0x0 배열이 반환됩니다.

값을 빈 배열에 할당하기

빈 객체는 배열의 클래스를 정의합니다. 비어 있지 않은 객체를 빈 배열에 할당하기 위해 MATLAB®은 클래스 생성자를 호출하여 다른 모든 배열 요소에 대한 클래스의 디폴트 인스턴스를 생성합니다. 비어 있지 않은 객체를 배열에 할당하고 나면 모든 배열 요소가 비어 있지 않은 객체여야 합니다.

참고

클래스 생성자는 기본적으로 빈 객체를 반환하지 않아야 합니다.

예를 들어, 객체 배열 초기화하기 섹션에 정의된 SimpleValue를 사용하면 빈 배열이 생성됩니다.

ary = SimpleValue.empty(5,0);
class(ary)
ans =

SimpleValue

ary는 클래스가 SimpleValue인 배열입니다. 하지만 이 배열은 빈 배열입니다.

ary(1)
Index exceeds matrix dimensions.

속성값을 할당하면 MATLAB이 SimpleClass 생성자를 호출하여 배열을 필요한 크기로 확장합니다.

ary(5).Value = 7;
ary(5).Value
ans = 

    7
ary(1).Value
ans = 

    []

MATLAB이 인수 없이 클래스 생성자를 호출하여 생성된 SimpleValue 객체로 배열 요소를 1부터 5까지 채웁니다. 그런 다음 MATLAB이 속성값 7ary(5)에 있는 객체에 할당합니다.

관련 항목