주요 콘텐츠

일반 메서드

객체에 대해 연산을 수행하는 일반 메서드

일반 메서드는 클래스의 객체에 대해 연산을 수행하는 함수를 정의합니다. 따라서 입력 인수 중 하나가 정의 클래스의 객체 또는 정의 클래스의 객체로 구성된 배열이어야 합니다. 일반 메서드는 객체 데이터를 기반으로 값을 계산하고, 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 폴더)에 있는 개별 파일

클래스 폴더에 대한 자세한 내용은 클래스 정의를 포함하는 폴더 항목을 참조하십시오.

참고 항목

도움말 항목