일반 메서드
객체에 대해 연산을 수행하는 일반 메서드
일반 메서드는 클래스의 객체에 대해 연산을 수행하는 함수를 정의합니다. 따라서 입력 인수 중 하나가 정의 클래스의 객체 또는 정의 클래스의 객체로 구성된 배열이어야 합니다. 일반 메서드는 객체 데이터를 기반으로 값을 계산하고, MATLAB® 내장 함수를 오버로드하고, 다른 메서드와 함수를 호출할 수 있습니다. 일반 메서드는 수정된 객체를 반환할 수 있습니다.
classdef 블록 내부의 메서드
이 예제에서는 classdef
블록과 methods
블록 내에서 메서드(
)를 정의하는 방법을 보여줍니다.methodName
classdef ClassName methods (AttributeName = value,...) function methodName(obj,args) % method code ... end ... end % end of method block ... end
메서드 특성은 end
문으로 종료되는 해당 메서드 블록에만 적용됩니다.
참고
비정적 메서드는 명시적인 객체 변수를 함수 인수로 포함해야 합니다. MATLAB 언어는 메서드 함수 정의에서 암시적 참조를 지원하지 않습니다.
메서드 예제
addData
메서드는 MyData
객체의 Data
속성에 값을 추가합니다. mustBeNumeric
함수는 Data
속성의 값을 숫자형 값으로 제한합니다. 속성의 디폴트 값은 0
입니다.
addData
메서드는 수정된 객체를 반환하며, 이를 동일한 변수에 재할당할 수 있습니다.
classdef MyData properties Data {mustBeNumeric} = 0 end methods function obj = addData(obj,val) if isnumeric(val) newData = obj.Data + val; obj.Data = newData; end end end end
a = MyData; a = addData(a,75)
a = MyData with properties: Data: 75
메서드 파일
메서드는 다음과 같은 위치에서 정의할 수 있습니다.
클래스 정의 블록 내부
클래스 폴더(즉,
@
폴더)에 있는 개별 파일ClassName
클래스 폴더에 대한 자세한 내용은 클래스 정의를 포함하는 폴더 항목을 참조하십시오.