Main Content

import

현재 가져오기 목록에 네임스페이스, 클래스 또는 함수 추가

설명

예제

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

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

  • 함수(중첩 함수와 로컬 함수 포함) — 함수 전체로 범위가 지정됩니다. 여기에는 import 앞에 오는 코드가 포함됩니다.

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

    스크립트 — 전체 스크립트 본문으로 스크립트 범위가 지정됩니다. 여기에는 import 앞에 오는 코드가 포함됩니다. 스크립트의 가져오기는 스크립트 본문 안에서만 사용할 수 있으며, 스크립트를 호출하는 범위에서는 사용할 수 없습니다. 예를 들어, 명령 프롬프트에서 가져오기를 포함하는 스크립트를 실행해도 명령 창에서 가져오기를 사용할 수 없습니다.

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

예제

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

예제

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

예제

import Namespace.*는 지정된 네임스페이스 식별자의 내용을 추가합니다. Namespace 뒤에는 반드시 .*가 나와야 합니다.

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

예제

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 java.util.Currency:

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

가져오기 목록에 부분 네임스페이스 식별자를 사용하여 matlab.io.hdf4.sd 네임스페이스 함수에 대한 호출을 단순화하고 MATLAB close 함수와의 충돌을 방지합니다.

import matlab.io.hdf4.*

축약된 네임스페이스 식별자 sd와 함께 시스템에 예제 파일 sd.hdf에 대한 전체 경로를 표시합니다.

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

matlabroot\matlab\toolbox\matlab\matlab_sci\hdf4\sd.hdf

sd 네임스페이스 식별자와 함께 close 함수를 호출합니다.

sd.close(sdID)

부분 네임스페이스 식별자를 가져오면 MATLAB close 함수와의 이름 충돌이 발생하지 않습니다.

which close
matlabroot\matlab\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에서 matlab.metadata.Class.fromName 정적 메서드를 가져옵니다. 단순한 이름 fromName을 사용하여 정적 메서드를 호출할 수 있지만, 이는 myFunc 범위 내에서만 가능합니다.

function metaClsObj = myFunc(ClassName)
    import matlab.metadata.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 명령문을 전처리합니다.

버전 내역

R2006a 이전에 개발됨

모두 확장