이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

meta.class

MATLAB 클래스 설명

설명

meta.class 클래스의 인스턴스에는 MATLAB® 클래스에 대한 정보가 들어 있습니다. meta.class 클래스의 읽기/쓰기 속성은 클래스 특성에 대응하며 클래스 정의 내에서 classdef 라인에서만 설정됩니다. meta.class 객체의 읽기 전용 속성을 쿼리하여 클래스에 의해 구문으로 지정된 정보를 가져올 수 있습니다. 예를 들어, 클래스 이름을 가져올 수 있습니다.

meta.class 객체는 직접 인스턴스화할 수 없습니다. 클래스의 인스턴스에서 또는 클래스 이름을 사용하여 meta.class 객체를 생성할 수 있습니다

  • metaclass — 인수로 전달된 객체를 나타내는 meta.class 객체를 반환합니다.

  • ?ClassName — 명명된 클래스를 나타내는 meta.class 객체를 반환합니다.

  • fromName — 정적 메서드가, 명명된 클래스를 나타내는 meta.class 객체를 반환합니다.

예를 들어, metaclass 함수는 MyClass를 나타내는 meta.class 객체를 반환합니다.

ob = MyClass;
obmeta = metaclass(ob);
obmeta.Name
ans =
MyClass

클래스 이름을 사용하여 meta.class 객체를 가져올 수 있습니다.

obmeta = ?MyClass;

fromName 정적 메서드를 사용할 수도 있습니다.

obmeta = meta.class.fromName('MyClass');

속성

속성용도

Abstract 특성. 디폴트 값 = false

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

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

ConstructOnLoad 특성. 디폴트 값 = false

true인 경우 MATLAB은 MAT 파일에서 객체를 불러올 때 클래스 생성자를 자동으로 호출합니다. 따라서 생성 인수 없이 호출해도 오류가 발생하지 않도록 작성해야 합니다.

객체에 대한 저장 및 불러오기 프로세스 항목을 참조하십시오.

ContainingPackage 읽기 전용

이 클래스를 포함하고 있는 패키지를 설명하는 meta.package 객체이거나, 이 클래스가 패키지에 없는 경우에는 빈 객체입니다.

패키지로 네임스페이스 생성하기 항목을 참조하십시오.

Description 읽기 전용

현재 사용되지 않음.

DetailedDescription 읽기 전용

현재 사용되지 않음.

Enumeration 특성. 디폴트 값 = false

true인 경우 이 클래스는 열거형 클래스입니다. 열거형 클래스 정의하기 항목을 참조하십시오.

EventList 읽기 전용

모든 상속된 이벤트를 포함하여 이 클래스로 정의된 각 이벤트를 설명하는 meta.event 객체로 구성된 배열입니다.

이벤트 항목을 참조하십시오.

EnumerationMemberList

열거형 클래스로 정의된 멤버 이름을 설명하는 meta.EnumeratedValue 객체로 구성된 배열입니다.

열거형 클래스에 대한 자세한 내용은 열거형 항목을 참조하십시오.

Hidden 특성. 디폴트 값 = falsetrue로 설정된 경우, 클래스는 클래스 이름을 표시하는 MATLAB 명령이나 툴의 출력값에 나타나지 않습니다.
InferiorClasses 특성. 디폴트 값 = {}

이 클래스의 하위(Inferior) 목록으로 표현되는 클래스의 우선 순위를 정의하는 meta.class 객체로 구성된 셀형 배열입니다.

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

MethodList 읽기 전용

상속된 모든 퍼블릭 메서드와 보호 메서드를 포함하여 이 클래스로 정의된 각 메서드를 설명하는 meta.method 객체로 구성된 배열입니다.

클래스 설계 내 메서드 항목을 참조하십시오.

Name 읽기 전용meta.class 객체와 연결된 클래스의 이름(char형 배열)
PropertyList 읽기 전용

상속된 모든 퍼블릭 속성과 보호 속성을 포함하여 이 클래스로 정의된 각 속성을 설명하는 meta.property 객체로 구성된 배열입니다.

속성 항목을 참조하십시오.

RestrictsSubclassing 읽기 전용

클래스가 Sealed가 아니며 클래스 정의에서 AllowedSubclasses의 빈 목록을 가진 경우 이 속성은 false로 설정됩니다. 클래스가 Sealed이거나 임의의 AllowedSubclasses를 지정하는 경우 이 속성은 true로 설정됩니다.

Specify Allowed Subclasses 항목을 참조하십시오.

Sealed 특성. 디폴트 값 = false

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

SuperclassList 읽기 전용.

이 클래스가 파생된 각 직속 슈퍼클래스를 설명하는 meta.class 객체로 구성된 배열입니다.

서브클래스 생성자 설계하기 항목을 참조하십시오.

메서드

메서드용도
fromName지정된 클래스 이름에 대한 meta.class 객체를 반환합니다.
tf = eq(Cls)상등 함수(a == b)입니다. 두 변수가 같은 클래스(완전히 동일한 요소 목록이 포함된 클래스)를 참조하는지 여부를 테스트하는 데 사용합니다.
tf = ne(Cls)부등 함수(a ~= b)입니다. 두 변수가 서로 다른 메타클래스를 참조하는지 여부를 테스트하는 데 사용합니다.
tf = lt(ClsA,ClsB)보다 작음 함수(ClsA < ClsB)입니다. ClsAClsB의 순 서브클래스인지 여부를 확인하는 데 사용합니다. 순 서브클래스(Strict Subclass)는 ClsX < ClsXfalse임을 의미합니다.
tf = le(ClsA,ClsB)보다 작거나 같음 함수(ClsA <= ClsB)입니다. ClsAClsB의 서브클래스인지 여부를 확인하는 데 사용합니다.
tf = gt(ClsA,ClsB)보다 큼 함수(ClsA > ClsB)입니다. ClsAClsB의 순 슈퍼클래스(Strict Superclass)인지 여부를 확인하는 데 사용합니다. 순 슈퍼클래스는 ClsX > ClsXfalse임을 의미합니다.
tf = ge(ClsA,ClsB)보다 크거나 같음 함수(ClsA >= ClsB)입니다. ClsAClsB의 슈퍼클래스인지 여부를 확인하는 데 사용합니다.

이벤트

이벤트용도

InstanceCreated

클래스가 핸들 클래스인 경우, 서브클래스의 새 인스턴스를 포함하여 이 핸들 클래스의 새 인스턴스가 만들어질 때마다 이 이벤트가 발생합니다. 이 이벤트는 모든 생성자 함수가 실행을 마친 직후에 발생합니다.

InstanceDestroyed

클래스가 핸들 클래스인 경우, 모든 서브클래스를 포함하여 이 핸들 클래스의 인스턴스가 제거될 때마다 이 이벤트가 발생합니다. 이 이벤트는 소멸자(Destructor) 함수가 실행되기 직전에 발생합니다

예제

handle 클래스 findobj 메서드와 audioplayer meta.class 객체를 사용하는 속성 특성을 찾습니다. 클래스가 SampleRate라는 속성을 정의하는지, 그리고 퍼블릭 set 액세스가 있는지 여부를 확인합니다.

mc = ?audioplayer;
mp = findobj(mc.PropertyList,'Name','SampleRate');
strcmp(mp.SetAccess,'public')
   ...