[작성일: 2023. 01. 27]
목차
import문
- 클래스를 사용할 때 패키지 이름을 생략할 수 있음.
- 컴파일러에게 클래스가 속한 패키지를 알려줌.
- 이클립스 단축키: ctrl + shift + O
- java.lang 패키지의 클래스는 기본 패키지이기 때문에 import 하지 않고도 사용할 수 있음.
- String, Object, System, Thread, ...
class ImportTest {
java.util.Date today = new java.util.Date();
// ...
}
⬇
import java.util.Date;
class ImportTest {
Date today = new Date();
}
import문 선언
import 패키지명.클래스명;
또는
import 패키지명.*; (*은 모든 클래스를 의미함.)
- import문은 패키지문과 클래스선언의 사이에 선언함.
- import문은 컴파일 시에 처리되므로 프로그램의 성능에 영향 없음.
package velog.io // 1. 패키지 선언
import java.text.SimpleDateFormat;
import java.util.*; // 2. import문
public class PackageTest { // 3. 클래스 정의
public static void main(String[] args) {
// java.util.Date today = new java.util.Date();
Date today = new Date();
SimpleDateFormat date = new SimpleDateFormat("yyyy/MM/dd");
}
}
✏️ 다음의 두 코드는 서로 의미가 다르니 주의할 것.
// 1.
import java.util.*;
import java.text.*;
⬇
import java.*;
// 위의 두 문장을 아래 문장으로 대체해서 사용 불가.
// java 패키지의 모든 클래스를 의미하기 때문.
✏️이름이 같은 클래스가 속한 두 패키지를 import 할 때는 클래스 앞에 패키지 명을 붙여줘야 함.
import java.sql.*; // java.sql.Date
import java.util.*; // java.util.Date
public class ImportTest {
public static void main(String[] args) {
java.util.Date today = new java.util.Date();
}
}
// Data 클래스 이름이 같으므로 클래스 이름 앞에 패키지 이름 적어주기
static import문
- static 멤버(static 변수, 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만으로 참조 가능
ex)
System.out.println(Math.random()); // 생략가능
⬇
out.println(random());
연습예제
import static java.lang.System.out;
// out이 static 변수
import static java.lang.Math.*;
// Math 클래스의 모든 static 멤버
class Ex7_6 {
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);
}
}
🐣 해당 게시글은 자바의 정석(남궁성 님) 영상으로 함께 공부하며 요약/정리한 글입니다.
🐣 입문 개발자가 작성한 글이므로 틀린 내용이나 오타가 있을 수 있습니다.