Dev/Java

[Java] 자바의 정석 기초편 ch7-15,16 import문, static import문

코딩삐약 2022. 6. 13. 14:29

ch7-15 import문

- 클래스를 사용할 때 패키지이름을 생략할 수 있다.

- 컴파일러에게 클래스가 속한 패키지를 알려준다. => 이클립스  import 단축키 - ctrl+shift+o

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

//---> 패키지 이름 생략가능
import java.util.Date;

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

 

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

 ex) String, Object, System, Thread ...

import java.lang.*; // * 모든 클래스

class ImportTest2 { 
	public static void main(String[] args) {
    	System.out.println("Hello World!");
    }
 }

 

ch7-15 import문의 선언

- import문을 선언하는 방법은 다음과 같다.

import 패키지명.클래스명;
또는
import 패키지명.*; //모든 클래스

 

- import문은 패키지문과 클래스선언의 사이에 선언한다.

package com.codechobo.book; // 패키지 선언

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

public class PackageTest { // 클래스 정의문
	public static void main(String[] args) {
    	Date today = new Date();
        SimpleDateFormat date = new SimpleDateFormat("yyyy/MM/dd");
    }
}

 

- import문은 컴파일 시에 처리되므로 프로그램의 성능에 영향없음.

import java.util.Calendar;
import java.util.Date;
import java.util.ArrayList;

-> import java.util.*; // java.util 패키지의 모든 클래스

 

- 다음의 두 코드는 서로 의미가 다르다.

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();
    }
}

 

ch7-16 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만으로 참조가능

System.out.println(Math.random()); <-> out.println(random());