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

함수 우선 순위(Function Precedence Order)

여기에서는 현재 범위에 있는 여러 함수가 동일한 이름을 가지는 경우 MATLAB®이 호출할 함수를 결정하는 방법을 설명합니다. 현재 범위는 현재 파일, 현재 실행 중인 함수와 관련된 프라이빗 하위 폴더(선택 사항), 현재 폴더, MATLAB 경로를 포함합니다.

MATLAB은 다음 우선 순위를 사용합니다.

  1. 변수

    이름과 일치하는 함수를 찾기 전에 MATLAB은 현재 작업 공간에 해당 이름을 가진 변수가 있는지 확인합니다.

    참고

    사용자가 함수와 동일한 이름을 갖는 변수를 생성해 둔 경우 사용자가 메모리에서 이 변수를 지우기 전까지는 MATLAB이 이 함수를 실행할 수 없습니다.

  2. 가져온 패키지 클래스 및 함수

    패키지 함수는 특정 폴더와 연결됩니다. import 함수를 사용하여 패키지 함수를 가져올 경우 이 함수는 동일한 이름을 가진 다른 모든 함수보다 우선합니다.

  3. 현재 함수 내 중첩 함수

  4. 현재 파일 내 로컬 함수

  5. 프라이빗 함수

    프라이빗 함수는 현재 실행 중인 파일의 폴더 바로 아래에 있는 private이라는 하위 폴더에 있는 함수입니다.

  6. 객체 함수

    객체 함수는 자신의 입력 인수 목록에 정해져 있는 객체 클래스를 받습니다. 이름이 같은 객체 함수가 여러 개 있는 경우 MATLAB은 입력 인수의 클래스를 검사하여 사용할 함수를 결정합니다.

  7. @ 폴더 내 클래스 생성자

    MATLAB은 클래스 생성자를 사용하여 다양한 객체(예: timeseries 또는 audioplayer)를 생성하고 객체 지향 프로그래밍을 사용하여 자체 클래스를 정의할 수 있습니다. 예를 들어, 클래스 폴더 @polynom을 만들어 생성자 함수 @polynom/polynom.m을 생성하면, 이 생성자는 다른 경로에 있는 polynom.m보다 우선합니다.

  8. 불러온 Simulink® 모델

  9. 현재 폴더 내 함수

  10. 경로의 기타 위치에 있는 함수(나타난 순서대로)

동일한 폴더 내에서 함수의 우선 순위를 결정할 때 MATLAB은 다음 순서를 기준으로 파일 형식을 고려합니다.

  1. 내장 함수

  2. MEX 함수

  3. 불러오지 않은 Simulink 모델 파일(파일 형식은 다음 순서를 기준으로 함)

    1. SLX 파일

    2. MDL 파일

  4. MATLAB 앱 디자이너를 사용하여 생성된 앱 파일(.mlapp)

  5. 확장자가 .mlx인 프로그램 파일

  6. P 파일(즉, 확장자가 .p인 인코딩된 프로그램 파일)

  7. 확장자가 .m인 프로그램 파일

예를 들어, MATLAB이 동일한 폴더에서 동일한 이름을 갖는 .m 파일 및 P 파일을 찾는 경우 P 파일을 사용합니다. P 파일은 자동으로 재생성되지 않으므로 프로그램 파일을 편집할 때마다 P 파일을 다시 생성해야 합니다.

특정 입력값에 대해 MATLAB이 어떤 함수를 호출하는지 확인하려면 이 함수 이름과 입력값을 which 함수에 포함시켜 호출하십시오.

관련 항목