Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

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
HandleCompatible
true

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

속성

모두 확장

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

데이터형: char

클래스에 대한 간단한 설명으로, 문자형 벡터로 반환됩니다. 사용자 정의 클래스인 경우 이 속성의 텍스트는 클래스 정의의 주석에서 가져옵니다. 주석이 없으면 속성은 빈 문자형 벡터를 반환합니다. 클래스에 대한 도움말 텍스트를 포함하는 방법에 대한 자세한 내용은 사용자 지정 도움말 텍스트 항목을 참조하십시오.

클래스에 대한 자세한 설명으로, 문자형 벡터로 반환됩니다. 사용자 정의 클래스인 경우 이 속성의 텍스트는 클래스 정의의 주석에서 가져옵니다. 주석이 없으면 속성은 빈 문자형 벡터를 반환합니다. 클래스에 대한 도움말 텍스트를 포함하는 방법에 대한 자세한 내용은 사용자 지정 도움말 텍스트 항목을 참조하십시오.

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

데이터형: logical

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

데이터형: logical

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

데이터형: logical

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

데이터형: logical

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

데이터형: logical

클래스 핸들이 호환되는지 여부로, 논리값으로 반환됩니다. true인 경우 이 클래스는 핸들 호환 클래스입니다. 핸들 호환 클래스에 대한 자세한 내용은 Handle Compatible Classes 항목을 참조하십시오.

데이터형: logical

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

데이터형: meta.class

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

데이터형: meta.package

클래스에 대해 정의된 별칭 목록으로, string형 배열로 반환됩니다. 별칭은 오래된 것부터 나열됩니다.

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

  • Sealed 특성을 true로 설정

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

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

데이터형: logical

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

데이터형: meta.property

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

데이터형: meta.method

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

데이터형: meta.event

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

데이터형: meta.EnumeratedValue

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

데이터형: meta.class

메서드

모두 확장

이벤트

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

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

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

event.ClassInstanceEvent

NotifyAccess: private

ListenAccess: public

InstanceDestroyed

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

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

event.ClassInstanceEvent

NotifyAccess: private

ListenAccess: public

예제

모두 축소

내부 검사를 사용하여 IntrospectionExample 클래스에 대한 상속 정보를 가져옵니다.

IntrospectionExample 코드

classdef IntrospectionExample
    % IntrospectionExample  Performs basic functions on two numbers
    % This class can return the sum and product of its two properties.
    properties
        % a  First property
        % First of two numeric properties
        a {mustBeNumeric} = 0
        
        % b  Second property
        % Second of two numeric properties
        b {mustBeNumeric} = 0
    end
    
    methods
        function sum = addNumbers(obj)
            % addNumbers  Sum the properties
            %   Finds the sum of properties a and b.
            sum = obj.a + obj.b;
        end
        function prod = multNumbers(obj)
            % multNumbers  Multiply the properties
            %   Finds the product of properties a and b.
            prod = obj.a*obj.b;
        end
    end
end

메타클래스 인스턴스 생성 및 검사

IntrospectionExample의 메타클래스 인스턴스를 생성합니다.

mc = ?IntrospectionExample
mc = 
  class with properties:

                     Name: 'IntrospectionExample'
              Description: 'IntrospectionExample  Performs basic functions on two numbers'
      DetailedDescription: '  This class can return the sum and product of its two properties.'
                   Hidden: 0
                   Sealed: 0
                 Abstract: 0
              Enumeration: 0
          ConstructOnLoad: 0
         HandleCompatible: 0
          InferiorClasses: {0×1 cell}
        ContainingPackage: [0×0 meta.package]
                  Aliases: [0×1 string]
     RestrictsSubclassing: 0
             PropertyList: [2×1 meta.property]
               MethodList: [4×1 meta.method]
                EventList: [0×1 meta.event]
    EnumerationMemberList: [0×1 meta.EnumeratedValue]
           SuperclassList: [0×1 meta.class]

IntrospectionExample의 속성 요약을 보면 MethodList 속성에 4개의 메서드가 설명되어 있습니다. mcMethodList 속성에 액세스하여 4개 클래스 메서드의 이름을 모두 표시합니다.

for i = 1:4
mc.MethodList(i).Name
end
ans = 
'multNumbers'
ans = 
'addNumbers'
ans = 
'IntrospectionExample'
ans = 
'empty'

버전 내역

R2008a에 개발됨

모두 확장