Chapter 7. 객체지향 프로그래밍 2
15. import문
- 소스코드 작성 시 다른 패키지의 클래스를 사용하려면 패키지명이 포함된 클래스 이름을 사용해야함
- 매번 패키지명을 붙여서 작성하기 불편하므로, 클래스 코드를 작성하기 전에
import문
으로 사용하고자 하는 클래스의 패키지를 미리 명시해주면 소스코드에 사용되는 클래스이름에서 패키지명은 생략 가능
java.util.Date today = new java.util.Date();
▼
import java.util.Date;
...
Date today = new Date();
import문의 역할
: 컴파일러에게 소스파일에 사용된 클래스의 패키지에 대한 정보를 제공하는 것
- 컴파일 시에 컴파일러는 import문을 통해 소스파일에 사용된 클래스들의 패키지를 알아 낸 다음, 모든 클래스이름 앞에 패키지명을 붙여줌
- 이클립스는 단축키
ctrl+shift+o
를 누르면, 자동으로 import문을 추가해줌
- 모든 소스파일(.java)에서 import문은 package문 다음에, 클래스 선언문 이전에 위치해야 함
- import문은 package문과 달리 한 소스파일에 여러 번 선언 가능
import 패키지명.클래스명;
또는
import 패키지명.*;
- 키워드 import와 패키지명을, 생략하고자 하는 클래스의 이름을 패키지명과 함께 써주면 됨
- 같은 패키지에서 여러 개의 클래스가 사용될 때, import문을 여러 번 사용하는 대신
패키지명.*
을 이용해서 지정된 패키지에 속하는 모든 클래스를 패키지명 없이 사용 가능
- 클래스이름을 지정해주는 대신
*
을 사용하면 컴파일러는 해당 패키지에서 일치하는 클래스이름을 찾아야 하지만 실행 시 성능상의 차이는 없음
16. static import문
- import문을 사용하면 클래스의 패키지명을 생략할 수 있는 것과 같이
static import문
을 사용하면 static멤버를 호출할 때 클래스 이름을 생략 가능
- 특정 클래스의 static멤버를 자주 사용할 때 편리하며 코드도 간결해짐
import static java.lang.Integer.*;
import static java.lang.Math.random;
import static java.lang.System.out;
ex) System.out.println(Math.random()); = out.println(random());