[작성일: 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); } }
🐣 해당 게시글은 자바의 정석(남궁성 님) 영상으로 함께 공부하며 요약/정리한 글입니다.
🐣 입문 개발자가 작성한 글이므로 틀린 내용이나 오타가 있을 수 있습니다.