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

import

현재 가져오기 목록에 패키지, 클래스 또는 함수 추가

설명

예제

import PackageName.ClassName은 현재의 가져오기 목록에 클래스 이름을 추가합니다. 전체 패키지 이름을 지정하지 않고 클래스를 참조하려면 코드에 import 함수를 사용하십시오.

가져오기 목록 범위는 다음과 같이 정의됩니다.

  • 함수 또는 스크립트(중첩 함수와 로컬 함수 포함) — 함수로 범위가 지정됩니다. 함수는 부모 함수의 가져오기 목록을 공유하지 않습니다. MATLAB® 함수나 스크립트 또는 임의 로컬 함수에 가져오기 목록이 필요한 경우 각 함수에 대해 import 함수를 호출해야 합니다.

    스크립트의 범위는 스크립트 본문입니다. 스크립트의 가져오기는 스크립트 본문 안에서만 사용할 수 있으며, 스크립트를 호출하는 범위에서는 사용할 수 없습니다. 예를 들어, 명령 프롬프트에서 가져오기를 포함하는 스크립트를 실행해도 명령 창에서 가져오기를 사용할 수 없습니다.

    함수의 가져오기 목록은 해당 함수의 여러 호출에 걸쳐 유지되며, 함수가 해제되는 경우에만 지워집니다. 자세한 내용은 clear 함수를 참조하십시오. 함수나 스크립트 내에서는 clear import를 호출하지 마십시오.

  • 기본 작업 공간 — 명령 프롬프트에서 실행되는 코드로 범위가 지정됩니다. 기본 가져오기 목록을 지우려면 MATLAB 명령 프롬프트에 clear import를 입력하십시오.

예제

import PackageName.FunctionName은 지정된 패키지 기반 함수를 추가합니다. 이 구문을 사용하면 패키지에서 특정 함수의 이름을 줄일 수 있습니다. 그러면 패키지에서 모든 함수를 가져올 필요가 없으므로 예기치 않은 이름 충돌 문제가 발생할 위험이 방지됩니다.

예제

import PackageName.ClassName.staticMethodName은 지정된 정적 메서드를 추가합니다. 특정한 정적 메서드의 이름을 짧게 줄이려면 이 구문을 사용하십시오.

예제

import PackageName.*는 지정된 패키지 이름을 추가합니다. PackageName 뒤에는 반드시 .*가 나와야 합니다.

패키지를 가져오면 지정되지 않은 일련의 이름이 로컬 범위에 추가되므로 이 구문을 사용하지 마십시오. 이 구문을 사용할 경우 MATLAB 작업 공간의 이름과 충돌하는 문제가 발생할 수 있습니다. 이 구문을 사용할 수 있는 한 가지 경우는 부분 패키지 이름을 가져오는 경우입니다. 또한, 함수를 호출할 때는 단순한 함수 이름과 충돌하지 않는 더 짧은 패키지 이름을 사용해야 합니다. 예를 들어, matlab.io.hdf4.sd 패키지에는 MATLAB close 함수와 충돌할 수 있는 close 함수가 있습니다.

예제

import는 범위의 현재 가져오기 목록을 표시합니다.

L = import는 현재 가져오기 목록을 반환합니다.

예제

모두 축소

import java.util.Currency java.lang.String

java.lang.String 객체를 만듭니다. 패키지 이름 java.lang를 입력할 필요가 없습니다.

s = String('hello')
s =

hello

패키지 이름을 입력하지 않고 Currency 클래스 메서드를 나열합니다.

methods Currency
Methods for class Currency:

equals                    getDisplayName            notify                    
getAvailableCurrencies    getInstance               notifyAll                 
getClass                  getNumericCode            toString                  
getCurrencyCode           getSymbol                 wait                      
getDefaultFractionDigits  hashCode                  

가져오기 목록에 부분 패키지 이름을 사용하여 matlab.io.hdf4.sd 패키지 함수에 대한 호출을 단순화하고 MATLAB close 함수와의 충돌을 방지합니다.

import matlab.io.hdf4.*

축약된 패키지 이름 sd와 함께 시스템에 예제 파일 sd.hdf에 대한 전체 경로를 표시합니다.

sdID = sd.start('sd.hdf');
filename = sd.getFilename(sdID)
filename =

C:\Program Files\MATLAB\R2015a\toolbox\matlab\imagesci\sd.hdf

sd 패키지 이름과 함께 close 함수를 호출합니다.

sd.close(sdID)

부분 패키지 이름을 가져오면 MATLAB close 함수와의 이름 충돌이 발생하지 않습니다.

which close
C:\Program Files\MATLAB\R2015a\toolbox\matlab\graphics\close.p

matlab.io.hdf4.sd.* 구문을 사용하여 전체 패키지 이름을 가져오는 경우 close 함수를 호출하면 MATLAB은 항상 패키지 함수를 선택합니다. close를 사용하여 Figure를 제거할 수 없습니다.

단일 함수 myfunc에서 matlab.io.hdf4.sd 패키지 함수 readChunk를 가져옵니다. 단순한 이름 readChunk를 사용하여 함수를 호출할 수 있지만, myfunc 범위 내에서만 가능합니다.

function data = myfunc(ID,n,m)
import matlab.io.hdf4.sd.readChunk
data = readChunk(ID,[n m]);
end

함수 myFunc에서 meta.class.fromName 정적 메서드를 가져옵니다. 단순한 이름 fromName을 사용하여 정적 메서드를 호출할 수 있지만, 이는 myFunc 범위 내에서만 가능합니다.

function metaClsObj = myFunc(ClassName)
    import meta.class.fromName
    metaClsObj = fromName(ClassName);
end

sd.hdf 예제 파일을 열고 temperature 데이터 세트에 액세스합니다.

import matlab.io.hdf4.*
sdID = sd.start('sd.hdf');
idx = sd.nameToIndex(sdID,'temperature');
sdsID = sd.select(sdID,idx);

앞의 예제에 나와 있는 myfunc 함수를 호출하여 데이터를 읽습니다. 축약된 패키지 이름을 사용하려면 myfunc에 고유의 import 명령문이 있어야 합니다.

dataChunk = myfunc(sdsID,0,1);

파일을 닫습니다.

sd.endAccess(sdsID)
sd.close(sdID)
import
ans = 

    'java.util.Currency'
    'java.lang.String'
    'matlab.io.hdf4.*'
    'matlab.io.hdf4.sd.readChunk'

입력 인수

모두 축소

패키지의 이름으로, string형 또는 문자형 벡터로 지정됩니다.

예: matlab.io.hdf4

클래스의 이름으로, string형 또는 문자형 벡터로 지정됩니다.

예: Currency

패키지 함수의 이름으로, string형 또는 문자형 벡터로 지정됩니다.

예: readChunk

정적 메서드의 이름으로, string형 또는 문자형 벡터로 지정됩니다.

예: fromName

데이터형: char | string

출력 인수

모두 축소

가져오기 목록으로, 문자형 벡터로 구성된 셀형 배열로 반환됩니다.

제한 사항

  • importMATLAB Compiler SDK™ 제품에 의해 생성된 Java® JAR 패키지는 불러올 수 없습니다.

  • 함수 내부 조건문에서는 import를 사용하지 마십시오. MATLAB에서는 조건문의 변수를 실행하기 전에 import 명령문을 전처리합니다.

호환성 관련 고려 사항

모두 확장

R2019b에서 동작이 변경됨

R2006a 이전에 개발됨