import문
모든 소스파일(.java)에서 import문은 package문 다음에, 그리고 클래스 선언문 이전에 위치해야 한다. import문은 package문과 달리 한 소스 파일에 여러 번 선언할 수 있다.
1. 일반적인 소스파일(.java)의 구성 순서
① package문
② import문
③ 클래스 선언
2. import문 선언 방법
- import 패키지명.클래스명;
- import 패키지명.*;
ex)
import java.util.Calendar;
import java.util.Date;
import java.util.ArraysList;
3. 여러 import문 하나로 처리하기
위처럼 import문을 여러 번 사용하는 대신 아래처럼 한 문장으로 처리할 수 있다.
import java.util.*;
한 패키지에서 여러 클래스를 사용하는 경우 클래스의 이름을 일일이 지정해주는 것보다 '패키지명.*'과 같이 하는 것이 편리하지만, import하는 패키지의 수가 많을 때에는 어느 클래스가 어느 패키지에 속하는지 구별하기 어렵다는 단점도 있다.
import java.util.*;
import java.text.*;
위의 두 문장 대신 다음과 같이 할 수는 없다.
import java.*;
static import문
import문을 사용하면 클래스의 패키지명을 생략할 수 있는 것과 같이 'static import문'을 사용하면 static 멤버를 호출 할 때 클래스 이름을 생략할 수 있다.
static import문을 사용하면, 특정 클래스의 static 멤버를 자주 사용할 때 편리하고, 코드도 훨씬 간결해진다.
import static java.lang.Integer.*; // Integer클래스의 모든 static메소드
import static java.lang.Math.random; // Math.random()만.
import static java.lang.System.out; // System.out을 out만으로 참조가능
만일 위와 같이 static import문을 선언했다면, 아래의 왼쪽 코드를 오른쪽 코드와 같이 간략히 할 수 있다.
System.out.println(Math.random()); -> out.println(random());
아래는 동일한 내용의 또 다른 예시이다.
import static java.lang.System.out;
import static java.lang.Math.*;
class StaticImportEx1 {
public static void main(String[] args) {
// System.out.println(Math.random());
out.println(random());
// System.out.println("Math.PI :"+Math.PI);
out.println("Math.PI :" + PI);
}
}
import static java.lang.System.out;
import static java.lang.Math.*;
을 선언해주었기 때문에
System.out.println(Math.random()); 대신 out.println(random()); 으로 사용이 되었고
System.out.println("Math.PI : " + Math.PI); 대신 out.println("Math.PI : " + PI); 로 사용이 되었다.
'Java > Day24' 카테고리의 다른 글
| [Java] 이클립스 단축키 모음 (0) | 2021.12.05 |
|---|---|
| [Java] default 메소드 & static 메소드 (0) | 2021.12.05 |
| [Java] Vector 클래스 (0) | 2021.12.05 |
| [Java] 예외처리 연습문제 (0) | 2021.12.05 |