Main Content

클래스 정의 파일 내의 함수

스크립트 파일이나 함수 파일에서 로컬 함수를 정의할 수 있는 것과 마찬가지로 classdef 파일 내에서도 로컬 함수를 정의할 수 있습니다. 이러한 함수는 classdef 블록 외부에 정의되지만 클래스 정의와 동일한 파일에 정의됩니다. 그 동일한 파일의 어느 곳에서나 이러한 함수를 호출할 수 있지만 정의된 파일의 외부에서는 보이지 않습니다.

classdef 파일의 로컬 함수는 해당 파일 내에서만 사용하는 유틸리티 함수에 유용합니다. 예를 들어, 다음 코드는 classdef 블록 외부에 myUtilityFcn을 정의합니다.

classdef MyClass
   properties
      PropName
   end
   methods
      function obj = method1(val)
         adjustedVal = myUtilityFcn(val)
         ...
      end 
   end 
end % End of classdef

function out = myUtilityFcn(in)
   ...
end

MyClassmethod1을 호출하면 이 메서드는 다른 동작을 수행하기 전에 먼저 myUtilityFcn을 사용하여 입력 인수에 대해 일부 전처리를 수행합니다.

메서드와 달리 이러한 함수는 클래스의 인스턴스를 입력값으로 필요로 하지 않지만, 클래스의 인스턴스인 인수를 받거나 반환할 수 있고 해당 인스턴스의 멤버(프라이빗 멤버 포함)에 액세스할 수 있습니다. 그러나 클래스 정의 파일 내의 함수가 클래스 멤버에 직접 액세스해야 하는 경우에는 이렇게 하는 대신, 함수를 클래스의 메서드로 정의하는 것을 고려해 보십시오.

참고 항목

관련 항목