"임포트"의 두 판 사이의 차이
잔글 (→같이 보기) |
|||
(사용자 2명의 중간 판 11개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
− | '''임포트'''는 [[객체 지향 프로그래밍]](OOP)에서 사용할 [[클래스]]가 속한 [[패키지]](=폴더)를 지정하기 위해 사용하는 명령어이다. Import 문을 사용하면, 클래스를 사용할 때 길고 복잡한 패키지명(=폴더명)을 생략할 수 있어서 편리하다. Import 문은 컴파일 시에 처리되므로 프로그램의 성능에 아무런 영향을 미치지 않는다. | + | '''임포트'''(import)는 [[객체 지향 프로그래밍]](OOP)에서 사용할 [[클래스]]가 속한 [[패키지]](=폴더)를 지정하기 위해 사용하는 명령어이다. Import 문을 사용하면, 클래스를 사용할 때 길고 복잡한 패키지명(=폴더명)을 생략할 수 있어서 편리하다. Import 문은 컴파일 시에 처리되므로 프로그램의 성능에 아무런 영향을 미치지 않는다. |
== 개요 == | == 개요 == | ||
+ | "가져오기(import)"는 다른 응용프로그램에 의해 생산된 데이터를 사용하는 것이다. 외부 데이터를 가져와서 사용하는 것은 소프트웨어의 매우 중요한 기능인데, 그 이유는 한 응용프로그램이 다른 것들을 보충할 수 있다는 것을 의미하기 때문이다. 예를 들면, 많은 프로그램들이 다양한 형식의 그래픽 이미지를 가져다 쓸 수 있도록 설계되어 있다. | ||
+ | |||
+ | package 패키지이름; | ||
+ | |||
+ | 자바에서 패키지를 선언하는 방법은 다음과 같다. | ||
+ | 위와 같이 선언한 패키지에 속한 클래스를 다른 파일에서 사용하기 위해서는 클래스 이름 앞에 패키지의 경로까지 포함한 풀 네임을 명시해 사용해야 한다. | ||
+ | 하지만 클래스를 사용할 때마다 매번 이렇게 긴 이름을 사용하는 것은 비효율적이므로, 자바에서는 import 키워드를 별도로 제공하고 있다. | ||
+ | |||
+ | import 문은 자바 컴파일러에 코드에서 사용할 클래스의 패키지에 대한 정보를 미리 제공하는 역할을 한다. | ||
+ | |||
+ | 따라서 import 문을 사용하면 다른 패키지에 속한 클래스를 패키지 이름을 제외한 클래스 이름만으로 사용할 수 있게 된다.<ref name="패키지"><[http://tcpschool.com/java/java_usingClass_package 패키지]><<TCPSCHOOL>></ref> | ||
== 특징 == | == 특징 == | ||
+ | === import문의 선언 === | ||
+ | * 모든 소스파일에서 import문은 package문 다음, 클래스 선언문 이전에 위치해야 한다. | ||
+ | * import문을 선언하는 방법으로는 import 패키지명.클래스명; 또는 import 패키지명.*; 두 가지 방법이 있다. | ||
+ | * 여기서 import 패키지명.*; 이 방법은 같은 패키지에서 여러 개의 클래스가 사용될 때 import문을 여러 번 사용하는 번거로움을 덜어준다. 즉, 지정된 패키지에 속하는 모든 클래스를 패키지명 없이 사용할 수 있다. | ||
+ | * import하는 캐피지의 수가 많을 때는 어느 클래스가 어느 패키지에 속하는지 구별하기 어려워지는 단점이 있기 때문에 적당히 사용하는 것이 좋다.<ref name="import"><[https://hyeon424.tistory.com/entry/Java-import-%EC%84%A0%EC%96%B8%EC%9D%98-%EC%9D%B4%EC%A0%90 import 선언]><<hyeon424>>, 2019-08-21</ref> | ||
+ | |||
+ | === import 선언의 이점 === | ||
+ | * 보통 클래스나 인터페이스 등은 어떠한 특정 패키지에 속해 있다. | ||
+ | * 그렇다면 처음 코딩을 배울 때 주로 사용하는 클래스인 Scanner, Random 또한 어떠한 특정 패키지에 속해 있다는 얘기인데 이 두 클래스는 java.util 패키지에 속해 있다. | ||
+ | * 즉, Scanner 클래스의 정확한 이름은 java.util.Scanner 이다. | ||
+ | * 그러나 코드를 작성할 때 위와 같은 명명을 줄이게끔 하기 위해 import를 선언하는 것이다. | ||
+ | * 따라서 패키지 이름을 포함한 클래스의 이름이 아닌 클래스 그 이름 자체만으로 클래스를 사용할 수 있게끔 해주는 것은 import 선언 덕분이다.<ref name="import"/> | ||
+ | |||
+ | === import 문의 특징 === | ||
+ | import 문을 선언할 때 별표(*)를 사용하는 것이 해당 패키지에 포함된 다른 모든 하위 패키지의 클래스까지 포함해 주는 것은 아니다. | ||
− | = | + | import java.awt.*; |
+ | import java.util.*; | ||
+ | |||
+ | 즉, 위와 같은 두 개의 import 문을 아래와 같이 하나의 import 문으로 표현할 수는 없다. | ||
+ | |||
+ | import java.*; | ||
+ | |||
+ | 또한, 자바에서는 가장 많이 사용하는 java.lang 패키지에 대해서는 import 문을 사용하지 않아도 클래스 이름만으로 사용할 수 있도록 해주고 있다.<ref name="패키지"/> | ||
{{각주}} | {{각주}} | ||
== 참고자료 == | == 참고자료 == | ||
+ | * <[http://tcpschool.com/java/java_usingClass_package 패키지]><<TCPSCHOOL>> | ||
+ | * <[https://hyeon424.tistory.com/entry/Java-import-%EC%84%A0%EC%96%B8%EC%9D%98-%EC%9D%B4%EC%A0%90 import선언]><<hyeon424>>, 2019-08-21 | ||
+ | |||
+ | == 같이 보기 == | ||
+ | * [[객체지향 프로그래밍]] | ||
+ | * [[메소드]] | ||
+ | * [[추상클래스]] | ||
+ | * [[접근제어자]] | ||
+ | * [[패키지]] | ||
+ | * [[프로텍티드]] | ||
+ | * [[인클루드]] | ||
− | + | {{프로그래밍|검토 필요}} |
2021년 7월 14일 (수) 21:41 기준 최신판
임포트(import)는 객체 지향 프로그래밍(OOP)에서 사용할 클래스가 속한 패키지(=폴더)를 지정하기 위해 사용하는 명령어이다. Import 문을 사용하면, 클래스를 사용할 때 길고 복잡한 패키지명(=폴더명)을 생략할 수 있어서 편리하다. Import 문은 컴파일 시에 처리되므로 프로그램의 성능에 아무런 영향을 미치지 않는다.
개요[편집]
"가져오기(import)"는 다른 응용프로그램에 의해 생산된 데이터를 사용하는 것이다. 외부 데이터를 가져와서 사용하는 것은 소프트웨어의 매우 중요한 기능인데, 그 이유는 한 응용프로그램이 다른 것들을 보충할 수 있다는 것을 의미하기 때문이다. 예를 들면, 많은 프로그램들이 다양한 형식의 그래픽 이미지를 가져다 쓸 수 있도록 설계되어 있다.
package 패키지이름;
자바에서 패키지를 선언하는 방법은 다음과 같다. 위와 같이 선언한 패키지에 속한 클래스를 다른 파일에서 사용하기 위해서는 클래스 이름 앞에 패키지의 경로까지 포함한 풀 네임을 명시해 사용해야 한다. 하지만 클래스를 사용할 때마다 매번 이렇게 긴 이름을 사용하는 것은 비효율적이므로, 자바에서는 import 키워드를 별도로 제공하고 있다.
import 문은 자바 컴파일러에 코드에서 사용할 클래스의 패키지에 대한 정보를 미리 제공하는 역할을 한다.
따라서 import 문을 사용하면 다른 패키지에 속한 클래스를 패키지 이름을 제외한 클래스 이름만으로 사용할 수 있게 된다.[1]
특징[편집]
import문의 선언[편집]
- 모든 소스파일에서 import문은 package문 다음, 클래스 선언문 이전에 위치해야 한다.
- import문을 선언하는 방법으로는 import 패키지명.클래스명; 또는 import 패키지명.*; 두 가지 방법이 있다.
- 여기서 import 패키지명.*; 이 방법은 같은 패키지에서 여러 개의 클래스가 사용될 때 import문을 여러 번 사용하는 번거로움을 덜어준다. 즉, 지정된 패키지에 속하는 모든 클래스를 패키지명 없이 사용할 수 있다.
- import하는 캐피지의 수가 많을 때는 어느 클래스가 어느 패키지에 속하는지 구별하기 어려워지는 단점이 있기 때문에 적당히 사용하는 것이 좋다.[2]
import 선언의 이점[편집]
- 보통 클래스나 인터페이스 등은 어떠한 특정 패키지에 속해 있다.
- 그렇다면 처음 코딩을 배울 때 주로 사용하는 클래스인 Scanner, Random 또한 어떠한 특정 패키지에 속해 있다는 얘기인데 이 두 클래스는 java.util 패키지에 속해 있다.
- 즉, Scanner 클래스의 정확한 이름은 java.util.Scanner 이다.
- 그러나 코드를 작성할 때 위와 같은 명명을 줄이게끔 하기 위해 import를 선언하는 것이다.
- 따라서 패키지 이름을 포함한 클래스의 이름이 아닌 클래스 그 이름 자체만으로 클래스를 사용할 수 있게끔 해주는 것은 import 선언 덕분이다.[2]
import 문의 특징[편집]
import 문을 선언할 때 별표(*)를 사용하는 것이 해당 패키지에 포함된 다른 모든 하위 패키지의 클래스까지 포함해 주는 것은 아니다.
import java.awt.*; import java.util.*;
즉, 위와 같은 두 개의 import 문을 아래와 같이 하나의 import 문으로 표현할 수는 없다.
import java.*;
또한, 자바에서는 가장 많이 사용하는 java.lang 패키지에 대해서는 import 문을 사용하지 않아도 클래스 이름만으로 사용할 수 있도록 해주고 있다.[1]
각주[편집]
참고자료[편집]
같이 보기[편집]