Main Content

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

meta.method 클래스

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

클래스 메서드에 대한 정보

설명

meta.method 클래스는 MATLAB® 클래스에 대한 메서드 정보를 제공합니다. meta.method 클래스의 속성은 클래스 정의에 구문으로 지정된 메서드 특성 및 기타 정보에 대응됩니다. 모든 속성은 읽기 전용입니다.

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

클래스 특성

Abstract
true
ConstructOnLoad
true

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

생성

meta.method 객체는 직접 인스턴스화할 수 없습니다. meta.method 객체는 meta.class MethodList 속성에서 가져와야 합니다. 이 속성에는 meta.method 객체로 구성된 배열이, 각 클래스 메서드별로 하나씩 들어 있습니다.

예를 들어, 아래 코드에서 ClassName을 메서드를 쿼리하려는 클래스의 이름으로 바꿉니다.

mco = ?ClassName;
mlist = mco.MethodList;
mlist(1).Name; % name of first method in the list

클래스 인스턴스에서 meta.class 객체를 가져오려면 metaclass 함수를 사용하십시오.

mco = metaclass(obj);

속성

모두 확장

메서드 이름으로, 문자형 벡터로 반환됩니다.

데이터형: char

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

데이터형: char | string

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

데이터형: char | string

Access 특성은 이 메서드를 호출할 권한을 갖는 코드를 제어합니다.

  • public — 무제한 액세스

  • protected — 클래스나 서브클래스의 메서드에서 액세스

  • private — 클래스 메서드에서만(서브클래스에서가 아님) 액세스

  • 이 메서드에 액세스할 수 있는 클래스의 목록으로, 다음과 같은 형식의 meta.class 객체로 지정됩니다.

    • 단일 meta.class 객체

    • meta.class 객체로 구성된 셀형 배열. 빈 셀형 배열 {}private 액세스와 같습니다.

예: method (Access = private)

데이터형: enumerated

메서드가 정적인지 여부로, 논리값 true 또는 false로 반환됩니다. true인 경우, 메서드는 클래스의 객체에 종속되지 않고 입력값으로 객체가 필요하지 않습니다. 객체 대신 클래스 이름을 사용하여 정적 메서드를 호출합니다.

classname.methodname()

아니면, 메서드의 경우처럼 클래스의 인스턴스를 사용합니다.

o.methodname()

정적 메서드 항목을 참조하십시오.

예: method (Static)

데이터형: logical

메서드가 추상인지 여부로, 논리값 true 또는 false로 반환됩니다. true인 경우, 메서드는 구현부를 갖지 않습니다. 하지만 메서드는 인수를 포함할 수 있는 구문 라인을 갖습니다. 서브클래스가 추상 메서드 시그니처에 따라 메서드를 구현합니다.

  • 메서드에는 function 키워드나 end 키워드가 들어 있지 않으며, 예를 들어 [a,b] = myMethod(x,y)와 같은 함수 구문만 있습니다.

  • 서브클래스는 동일한 개수의 입력 인수와 출력 인수를 정의할 필요가 없습니다. 구문이 어떤 서브클래스가 구현되어야 하는지 안내합니다.

  • 메서드의 구문 라인 뒤에 주석이 있을 수 있습니다.

예: method (Abstract)

데이터형: logical

메서드 재정의 가능 여부로, 논리값 true 또는 false로 반환됩니다. true인 경우, 메서드를 서브클래스에서 다시 정의할 수 없습니다. 서브클래스에서 같은 이름을 가진 메서드를 정의하려고 시도하면 오류가 발생합니다.

예: method (Sealed)

데이터형: logical

메서드가 숨겨졌는지 여부로, 논리값 true 또는 false로 반환됩니다. false인 경우, methods 명령 또는 methodsview 명령을 사용하여 표시되는 메서드의 목록에 메서드 이름이 표시됩니다. true로 설정되면, 메서드 이름이 이 목록에 포함되지 않으며 명령 창에 객체가 표시될 때에도 포함되지 않습니다.

데이터형: logical

함수 시그니처에 사용되는 입력 인수의 이름으로, 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 반환됩니다.

데이터형: char | cell

함수 시그니처에 사용되는 출력 인수의 이름으로, 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 반환됩니다.

데이터형: char | cell

이 메서드를 정의하는 클래스로, 정의하는 클래스를 나타내는 meta.class 객체로 반환됩니다. 정의하는 클래스는 항상 meta.method 객체의 관점에서 가장 구체적인 클래스입니다. 따라서 상속된 메서드를 서브클래스가 재정의한 경우, 서브클래스 meta.method 객체의 정의하는 클래스는 해당 서브클래스입니다. 마찬가지로, 슈퍼클래스 meta.method 객체의 정의하는 클래스는 해당 슈퍼클래스입니다.

데이터형: meta.class

예제

모두 축소

meta.method 데이터를 사용하여 matlab.mixin.Copyable 클래스의 copy 메서드에 대한 정보를 가져옵니다.

mc =?matlab.mixin.Copyable;
copyInfo = findobj(mc.MethodList,"Name","copy")
copyInfo = 

  method with properties:

                   Name: 'copy'
            Description: ''
    DetailedDescription: ''
                 Access: 'public'
                 Static: 0
               Abstract: 0
                 Sealed: 1
                 Hidden: 0
             InputNames: {'rhs1'}
            OutputNames: {'lhs1'}
          DefiningClass: [1×1 meta.class]
R2008a에 개발됨