메서드 특성
메서드 특성의 용도
클래스 정의에 특성을 지정하면 특성 용도로 메서드의 동작을 사용자 지정할 수 있습니다. 메서드 특성을 설정하여 액세스, 가시성, 구현과 같은 특징을 제어할 수 있습니다. 서브클래스는 슈퍼클래스 멤버 특성을 상속하지 않습니다.
메서드 특성 지정하기
메서드 특성을 methods 키워드와 동일한 라인에 할당합니다.
methods (Attribute1 = value1, Attribute2 = value2,...) ... end
메서드 특성 표
특성을 사용하면 메서드의 동작을 수정할 수 있습니다. 모든 메서드가 다음 표에 나와 있는 특성을 지원합니다.
특성 값은 디폴트가 아닌 값을 지정하는 methods...end 코드 블록 내에 정의된 모든 메서드에 적용됩니다.
메서드 특성
| 특성 | 값 | 설명 |
|---|---|---|
Abstract |
|
|
|
| 이 메서드를 호출할 수 있는 코드를 지정합니다.
|
|
|
|
Sealed |
| true인 경우, 메서드를 서브클래스에서 다시 정의할 수 없습니다. 서브클래스에서 같은 이름을 가진 메서드를 정의하려고 시도하면 오류가 발생합니다. |
|
| 클래스의 객체에 종속되지 않고 객체 인수를 필요로 하지 않는 메서드를 정의하려면 정적 메서드에 자세한 내용이 나와 있습니다. |
| 프레임워크 특성 | 특정 프레임워크 기본 클래스를 사용하는 클래스는 프레임워크별 특성을 가집니다. 이러한 특성에 대한 자세한 내용은 사용하는 특정 기본 클래스에 대한 문서를 참조하십시오. | |
메서드 액세스 목록
이 클래스는 메서드 Access 특성에 대한 액세스 목록을 선언합니다.
classdef MethodAccess methods (Access = {?ClassA, ?ClassB, ?MethodAccess}) function listMethod(obj) ... end end end
MethodAccess 클래스는 다음 메서드 액세스를 지정합니다.
ClassA클래스 및ClassB클래스의 메서드를 통해MethodAccess의 인스턴스에서listMethod에 액세스합니다.액세스 목록에
MethodAccess가 포함되어 있기 때문에MethodAccess의 서브클래스의 메서드를 통해MethodAccess의 인스턴스에서listMethod에 액세스합니다.ClassA및ClassB의 서브클래스는 메서드listMethod를 정의할 수 있고MethodAccess는listMethod를 재정의할 수 있습니다. 그러나MethodAccess가 액세스 목록에 포함되어 있지 않으면 그 서브클래스가listMethod를 재정의할 수 없습니다.
참고 항목
metaclass | matlab.metadata.Method