classdef
클래스 정의 키워드
구문
classdef (Attributes
)ClassName
<SuperclassNames
properties (Attributes
) ... end methods (Attributes
) ... end events (Attributes
) ... end enumeration ... end end
설명
classdef ... end
는 클래스 정의를 둘러쌉니다. classdef
블록의 첫 번째 행의 구문은 다음과 같습니다.
classdef (Attribute1 = value1, Attribute2 = value2,...) ClassName < SuperclassName1 & SuperclassName2 & ...
(
— 선택적 클래스 특성으로, 특성 이름과 관련 값이 쉼표로 구분된 목록으로 지정됩니다. 예를 들어 다음 구문은 제한된 목록을 허용하는 서브클래스를 포함한 추상 클래스를 정의합니다.Attribute1 = value1
,Attribute2 = value2
,...)classdef (Abstract = true, AllowedSubclasses = {ClassA, ClassB}) exampleClass
논리값을 취하는 특성은 명시적 값 없이도 사용할 수 있습니다. 이전 예에서 명시적 값 없이
Abstract
를 지정하면 특성이true
로 설정됩니다. 자세한 내용은 클래스 특성 항목을 참조하십시오.
— 유효한 클래스 이름은 영문자로 시작하고 영문자, 숫자, 밑줄을 포함할 수 있습니다. 클래스와 동일한 이름의 파일에 클래스를 저장하고 파일 확장자를ClassName
.m
으로 지정합니다.
— 슈퍼클래스 목록으로,SuperclassName1
&SuperclassName2
& ...&
문자로 구분됩니다. 다른 클래스에서 클래스를 파생하는 방법에 대한 자세한 내용은 서브클래스 정의 항목을 참조하십시오.
classdef
블록은 다음과 같은 클래스 멤버 블록을 하나 이상 포함할 수 있습니다.
Properties —
properties (
는 속성 블록을 정의합니다. 클래스 정의는 여러 개의 속성 블록을 포함할 수 있으며, 그 특정 블록의 속성에 적용되는 서로 다른 특성 설정을 지정합니다. 속성 구문에 대한 자세한 내용은 속성 구문 항목을 참조하십시오.Attributes
) ... endMethods —
methods (
는 메서드 블록을 정의합니다. 클래스 정의는 여러 개의 메서드 블록을 포함할 수 있으며, 지정된 서로 다른 특성 설정은 이 특정 블록의 메서드에 적용됩니다. 메서드 구문에 대한 자세한 내용은 메서드 구문 항목을 참조하십시오.Attributes
) ... endEvents —
events (
는 이벤트 블록을 정의합니다. 클래스 정의는 여러 개의 이벤트 블록을 포함할 수 있으며, 지정된 서로 다른 특성 설정은 이 특정 블록의 이벤트에 적용됩니다. 이벤트 구문에 대한 자세한 내용은 이벤트와 리스너 구문 항목을 참조하십시오.Attributes
) ... endEnumeration —
enumeration ... end
는 열거형 블록을 정의합니다. 열거형 클래스 정의에 대한 자세한 내용은 열거형 클래스 정의하기 항목을 참조하십시오.
예제
팁
classdef
앞에는 빈 라인과 주석만 먼저 나올 수 있습니다.클래스 정의 파일은 MATLAB® 경로의 폴더에 있거나 부모 폴더가 MATLAB 경로에 있는 클래스 폴더에 있을 수 있습니다. 클래스 폴더의 이름은
@
문자로 시작하고, 그 뒤에 클래스 이름이 옵니다(예:@MyClass
). 클래스 폴더에 대한 자세한 내용은 클래스 정의를 포함하는 폴더 항목을 참조하십시오.properties
,methods
,events
,enumeration
은 또한 지정된 객체 또는 클래스 이름에 대한 각 클래스 멤버를 쿼리하는 데 사용되는 MATLAB 함수의 이름입니다.속성, 이벤트 및 열거형 멤버는 정의하는 클래스의 이름과 동일할 수 없습니다.
메서드는 메인 클래스 파일 이외의 파일 내에서 정의할 수 있습니다. 자세한 내용은 개별 파일 내 메서드 항목을 참조하십시오.
버전 내역
R2008a에 개발됨
참고 항목
properties
| methods
| events
| enumeration
| superclasses