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

meta.class 클래스

패키지: meta
슈퍼클래스: meta.MetaData

MATLAB 클래스 설명

설명

meta.class 클래스는 MATLAB® 클래스에 대한 설명 정보를 가져올 방법을 제공합니다. 특정 클래스에 대해 meta.class 객체를 만들면 해당 클래스 정의에 대한 정보를 가져올 수 있습니다.

meta.class 객체의 일부 속성은 해당 MATLAB 클래스에 정의된 클래스 속성의 값을 포함합니다. 이들 속성을 쿼리하면 클래스 정의에 의해 classdef 라인에 구문으로 지정된 정보를 가져올 수 있습니다.

그 밖의 속성은 해당 클래스로 정의된 속성, 메서드 및 이벤트 목록과 해당 클래스가 정의된 방식에 대한 기타 정보를 포함합니다.

meta.class 객체 속성의 값은 설정할 수 없습니다. 속성을 쿼리하는 것만 가능합니다.

클래스의 인스턴스에서 또는 다음 옵션으로 클래스 이름을 사용하여 meta.class 객체를 만듭니다.

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

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

  • meta.class.fromName('ClassName') — 명명된 클래스를 나타내는 meta.class 객체를 정적 클래스가 반환합니다.

meta.class의 생성자를 호출하여 객체를 직접 인스턴스화할 수 없습니다.

meta.class 클래스는 handle 클래스입니다.

클래스 특성

Abstract
true

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

속성

모두 확장

클래스 추상 특성의 값으로, 논리값으로 반환됩니다. 이 속성의 값은 클래스 또는 임의의 속성이나 메서드가 true로 설정된 Abstract 특성을 갖는 경우 true입니다. 추상 클래스에 대한 자세한 내용은 추상 클래스 및 클래스 멤버 항목을 참조하십시오.

예: classdef (Abstract = true) ...

데이터형: logical

불러올 때 생성자를 호출할지 여부로, 논리값으로 반환됩니다. true인 경우 MATLAB은 MAT 파일에서 객체를 불러올 때 클래스 생성자를 자동으로 호출합니다. ConstructOnLoad를 활성화하려면 생성자가 입력 인수 없이 호출될 수 있어야 합니다. 자세한 내용은 객체에 대한 저장 및 불러오기 프로세스 항목을 참조하십시오.

예: classdef (ConstructOnLoad = true) ...

데이터형: logical

클래스를 포함하는 패키지로, meta.package 객체로 반환됩니다. 클래스가 패키지에 속하지 않은 경우 이 속성은 빈 meta.package 객체를 포함합니다. 패키지에 대한 자세한 내용은 패키지로 네임스페이스 생성하기 항목을 참조하십시오.

데이터형: meta.package

주석에서 클래스에 대한 정보를 수집하는 것으로, 현재 사용되지 않습니다.

데이터형: char | string

주석에서 클래스에 대한 정보를 수집하는 것으로, 현재 사용되지 않습니다.

데이터형: char | string

클래스가 열거형 클래스인지 여부로, 논리값으로 반환됩니다. true인 경우 이 클래스는 열거형 클래스입니다. 열거형 클래스에 대한 자세한 내용은 열거형 클래스 정의하기 항목을 참조하십시오.

데이터형: logical

열거형 멤버의 이름과 숨김 상태로, meta.EnumeratedValue 객체로 구성된 배열로 반환됩니다. 해당 멤버 meta.EnumeratedValue 객체의 Name 속성과 Hidden 속성에 액세스하여 정보를 가져옵니다. 자세한 내용은 열거형 항목을 참조하십시오.

데이터형: meta.EnumeratedValue

모든 상속된 이벤트를 포함하여 클래스에 대해 정의된 이벤트로, meta.event 객체로 구성된 배열로 반환됩니다. 핸들 클래스만 이벤트를 정의할 수 있으므로 값 클래스의 경우 이 속성은 빈 meta.event 객체입니다. 모든 handle 클래스는 ObjectBeingDestroyed 이벤트를 상속합니다. 이벤트에 대한 자세한 내용은 이벤트 항목을 참조하십시오.

데이터형: meta.event

클래스가 속성 툴에서 숨겨졌는지 여부로, 논리값 true 또는 false로 반환됩니다. true로 설정된 경우, 클래스는 클래스 이름을 표시하는 MATLAB 명령이나 툴의 출력값에 나타나지 않습니다. 단, 이 경우에도 프로그래밍 방식으로 클래스에 액세스할 수 있습니다.

데이터형: logical

이 클래스의 하위로 지정된 클래스로, meta.class 객체로 구성된 셀형 배열로 반환됩니다. 클래스 우선 순위에 대한 자세한 내용은 Class Precedence 항목을 참조하십시오.

예: classdef (InferiorClasses = {?ClassName1,?ClassName2}) ...

데이터형: meta.class

클래스에 대해 정의된 메서드로, meta.method 객체로 구성된 배열로 반환됩니다. meta.method 객체는 상속된 퍼블릭 메서드와 보호 메서드를 포함하여 이 클래스로 정의된 각 메서드를 설명합니다. 메서드에 대한 자세한 내용은 클래스 설계 내 메서드 항목을 참조하십시오.

데이터형: meta.method

클래스 이름으로, 문자형 벡터로 반환됩니다. 이 속성에서 반환하는 클래스 이름은 해당 클래스를 담고 있는 패키지를 포함하지 않습니다.

데이터형: char

클래스에 대해 정의된 속성으로, 상속된 모든 퍼블릭 속성과 보호 속성을 포함하여 각 속성을 설명하는 meta.property 객체로 구성된 배열로 반환됩니다. 속성에 대한 자세한 내용은 속성 항목을 참조하십시오.

데이터형: meta.property

클래스가 서브클래스화를 제한하는지 여부로, 논리값 true 또는 false로 반환됩니다. MATLAB은 클래스가 다음과 같이 서브클래스화를 제한하는 경우 이 특성을 true로 설정합니다.

  • Sealed 특성을 true로 설정

  • AllowedSubclasses 특성을 사용하여 이 클래스를 서브클래스화할 수 있는 클래스 지정

서브클래스화 제한에 대한 자세한 내용은 Specify Allowed Subclasses 항목을 참조하십시오.

예: classdef (AllowedSubclasses = {?ClassName1,?ClassName2}) ...

데이터형: logical

클래스가 서브클래스화될 수 있는지 여부로, 논리값으로 반환됩니다. Sealedtrue이면 이 클래스를 서브클래스화할 수 없습니다.

예: classdef (Sealed = true) ...

데이터형: logical

이 클래스의 직속 슈퍼클래스로, 이 클래스가 파생된 각 직속 슈퍼클래스를 설명하는 meta.class 객체로 구성된 배열로 반환됩니다. 서브클래스화에 대한 자세한 내용은 서브클래스 정의 항목을 참조하십시오.

예: classdef MyClass < MySuperclass & MyMixin

데이터형: meta.class

메서드

모두 확장

이벤트

이벤트 이름트리거이벤트 데이터이벤트 특성
InstanceCreated

이 이벤트는 meta.class에서 설명하는 클래스의 인스턴스가 만들어질 때마다 발생합니다.

이 이벤트는 모든 생성자 함수가 실행을 마친 직후에 발생합니다.

event.ClassInstanceEvent

NotifyAccess: private

ListenAccess: public

InstanceDestroyed

이 이벤트는 meta.class에서 설명하는 클래스의 인스턴스가 제거될 때마다 발생합니다.

이 이벤트는 소멸자(Destructor) 함수가 실행되기 직전에 발생합니다

event.ClassInstanceEvent

NotifyAccess: private

ListenAccess: public

예제

모두 축소

handle 클래스 findobj 메서드와 audioplayer meta.class 객체를 사용하는 속성 특성을 찾습니다. audioplayer 객체에 대해 SampleRate 속성을 변경할 수 있는지 확인합니다.

audioplayer 객체를 생성합니다.

load('handel.mat')
player = audioplayer(y,Fs);

audioplayer 객체에 대한 meta.class 객체를 가져옵니다.

mc = metaclass(player);

SampleRate 속성에 대한 meta.property 객체를 가져옵니다.

mp = findobj(mc.PropertyList,'Name','SampleRate');

meta.property 객체를 사용하여 SampleRate 속성을 수정할 수 있는지 여부를 확인합니다. SetAccesspublic인 경우 SampleRate 속성을 설정합니다.

if strcmp(mp.SetAccess,'public')
   player.SampleRate = 7200;
end
R2008a에 개발됨