Main Content

클래스 특성

클래스 특성 지정하기

모든 클래스가 다음 표에 나와 있는 특성을 지원합니다. 특성을 사용하면 클래스의 동작을 수정할 수 있습니다. 특성 값은 classdef 블록 내에 정의된 클래스에 적용됩니다.

classdef (Attribute1 = value1, Attribute2 = value2,...) ClassName
   ...
end

클래스 특성

특성 이름

클래스

설명

Abstract

logical

(디폴트 값 = false)

true로 지정된 경우 이 클래스는 추상 클래스입니다(인스턴스화할 수 없음).

자세한 내용은 추상 클래스 및 클래스 멤버 항목을 참조하십시오.

AllowedSubclasses

matlab.metadata.Class 객체, 또는 matlab.metadata.Class 객체로 구성된 셀형 배열

이 클래스를 서브클래스화할 수 있는 클래스들을 나열합니다. 서브클래스를 다음 형식의 matlab.metadata.Class 객체로 지정하십시오.

  • 단일 matlab.metadata.Class 객체

  • matlab.metadata.Class 객체로 구성된 셀형 배열. 빈 셀형 배열 {}Sealed 클래스(서브클래스 없음)와 같습니다.

?ClassName 구문만 사용하여 matlab.metadata.Class 객체를 지정하십시오.

자세한 내용은 Specify Allowed Subclasses 항목을 참조하십시오.

ConstructOnLoad

logical

(디폴트 값 = false)

true인 경우 MATLAB®은 MAT 파일에서 객체를 불러올 때 클래스 생성자를 호출합니다. 이 특성을 사용하여 정의된 클래스에는 인수가 없는 생성자가 있어야 합니다.

자세한 내용은 객체의 저장 및 불러오기에 대한 디폴트 프로세스 항목을 참조하십시오.

HandleCompatible

logical

(디폴트 값 = false) - 값 클래스의 경우

true로 지정된 경우 이 클래스를 핸들 클래스의 슈퍼클래스로 사용할 수 있습니다. 모든 핸들 클래스는 정의에 따라 HandleCompatible입니다. 자세한 내용은 Handle Compatible Classes 항목을 참조하십시오.

Hidden

logical

(디폴트 값 = false)

true이면 이 클래스가 superclasses 함수 또는 help 함수의 출력값에 나타나지 않습니다.

InferiorClasses

matlab.metadata.Class 객체, 또는 matlab.metadata.Class 객체로 구성된 셀형 배열

이 특성을 사용하여 클래스 간의 우선 순위 관계를 설정합니다. ? 연산자를 사용하여 matlab.metadata.Class 객체로 구성된 셀형 배열을 지정하십시오.

기본 클래스는 항상 사용자 정의 클래스보다 우선 순위가 낮으며 이 목록에 표시되지 않습니다.

Class Precedence 항목을 참조하십시오.

Sealed

logical

(디폴트 값 = false)

true이면 이 클래스를 서브클래스화할 수 없습니다.

프레임워크 특성

특정 프레임워크 기본 클래스를 사용하는 클래스는 프레임워크별 특성을 가집니다. 이러한 특성에 대한 자세한 내용은 사용하는 특정 기본 클래스에 대한 문서를 참조하십시오.

특성 지정하기

특성은 classdef, properties, methods, events 정의 블록에 있는 클래스 멤버에 대해 지정됩니다. 특정한 특성 설정은 해당 특정 블록 내에서 정의된 모든 멤버에 적용됩니다. 여러 properties, methods, events 정의 블록을 사용하여 다양한 특성 설정을 각기 다른 클래스 멤버에 적용할 수 있습니다.

슈퍼클래스 특성 값은 상속되지 않음

클래스 특성 설정은 상속되지 않으므로 슈퍼클래스 특성 값이 서브클래스에 영향을 미치지 않습니다.

특성 구문

각 특성 이름/특성 값 쌍을 쉼표로 구분하여 클래스 특성 값을 괄호로 묶어 지정합니다. 아래 나와 있는 것처럼 특성 목록은 항상 classdef 또는 클래스 멤버 키워드 뒤에 옵니다.

classdef (attribute-name = expression, ...) ClassName

   properties (attribute-name = expression, ...)
      ...
   end
   methods (attribute-name = expression, ...)
      ...
   end
   events (attribute-name = expression, ...)
      ...
   end
end

클래스 관련 특성

일부 MATLAB 클래스는 추가 특성을 정의하는데, 이러한 추가 특성은 해당 특성이 정의되는 클래스 계층 구조에서만 사용할 수 있습니다. 이러한 클래스에서 지원하는 추가 특성에 대한 자세한 내용은 사용하는 클래스에 대한 특정 문서를 참조하십시오.

관련 항목