Main Content

서브클래스 구문

서브클래스 정의 구문

다른 클래스의 하위 클래스를 정의하려면 classdef 라인에서 < 문자 다음에 슈퍼클래스를 추가하십시오.

classdef ClassName < SuperClass

여러 클래스에서 상속하는 경우라면 & 문자를 사용하여 슈퍼클래스의 결합을 나타내십시오.

classdef ClassName < SuperClass1 & SuperClass2

여러 슈퍼클래스에서 파생하는 방법에 대한 자세한 내용은 클래스 멤버 호환성 항목을 참조하십시오.

클래스 특성

서브클래스는 슈퍼클래스 특성을 상속하지 않습니다.

double형에서 서브클래스 생성하기

double형에서 파생된 클래스를 정의하고 양수로 값을 제한한다고 가정하겠습니다. PositiveDouble 클래스는 다음과 같습니다.

  • 디폴트 생성자(입력 인수 없음)를 지원합니다. 입력 인수 없는 생성자 요구 사항 항목을 참조하십시오.

  • mustBePositive를 사용하여 입력값을 양수 값으로 제한합니다.

  • 입력값과 함께 슈퍼클래스 생성자를 호출하여 double형 숫자형 값을 생성합니다.

classdef PositiveDouble < double
   methods
      function obj = PositiveDouble(data)
         if nargin == 0
            data = 1;
         else
            mustBePositive(data)
         end
         obj = obj@double(data);
      end
   end
end

숫자로 구성된 1×5 배열을 사용하여 PositiveDouble 클래스의 객체를 생성합니다.

a = PositiveDouble(1:5);

여느 double형과 같이 이 클래스의 객체에 대해 연산을 수행할 수 있습니다.

sum(a)
ans =

    15

PositiveDouble 클래스의 객체는 양수 값이어야 합니다.

a = PositiveDouble(0:5);
Error using mustBePositive (line 19)
Value must be positive.

Error in PositiveDouble (line 7)
            mustBePositive(data)

관련 항목