TIL) Java - import문, static import문

oatraspberry·2022년 12월 10일
post-thumbnail

import문

import = 불러오다
클래스를 사용할 때 패키지 이름을 생략할 수 있다.
컴파일러에게 클래스가 속한 패키지를 알려준다.

class ImportTest {
	java.util.Date today = new java.util.Date();
    // ...
}

// import문
import java.util.Date;

class ImportTest {
	Date today = new Date(); 
}

java.lang 패키지(기본 패키지)의 클래스는 import 하지 않고도 사용할 수 있다.

  • java.lang 패키지 = String, Object, System, Thread...
import java.lang.*; // *은 모든 클래스를 의미한다.
class ImportTest2 {
	public static void main(String[] args) {
    	System.out.println("Hello World!");
    }
}

import문 작성 방법

이클립스 단축키: ctrl+shift+O

import 패키지명.클래스명;
import 패키지명.*;

import문은 패키지문과 클래스 선언의 사이에 선언한다.
import문은 컴파일 시에 처리되므로 프로그램의 성능에 영향없다.

package learn2; // 패키지 선언

import java.text.SimpleDateFormat;
import java.util.*; // import문

public class PackageTest { // 클래스 정의
	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");
    }
}

이름이 같은 클래스가 속한 두 패키지를 import 할 때는 클래스 앞에 패키지명을 붙여야 한다.

import java.*; // java 패키지의 모든 클래스(패키지는 포함 안 됨)
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(); // Date 클래스 이름 동일할 때는 앞에 패키지명을 붙여줘야 함!
    }
}

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만으로 참조 가능
import static java.lang.System.out;
import static java.lang.Math.*;

class Ex1 {
	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); // 클래스 이름 생략 가능
    }
}
profile
개발자가 될테야

0개의 댓글