TIL/남궁성의 자바의 정석
자바의 정석 ch7-15, 16 import문, static import문
minOE
2023. 12. 1. 21:54
728x90
ch7-15 import문
- 클래스를 사용할때 패키지 이름을 생략할 수 있다
- 컴파일러에게 클래스가 속한 패키지를 알려준다
class ImportTest{ java.util.Date date = new java.util.Date(); }위의 코드는 import문을 통해
import java.util.Date; class ImportTest{ Date date = new Date(); }이렇게 작성할 수 있다.
-java.lang 패키지는 기본 패키지이기 때문에 이 패키지에 속한 클래스는 import하지 않고도 사용한다.
기본 패키지 클래스 예시)String,Object,System,Thread
- import문 선언 방법1)import 패키지명.클래스명; 2)import 패키지명.*;
- import문은 패키지문과 클래스 선언의 사이에 선언
패키지 선언 -> 임포트문 -> 클래스
예시// 패키지 선언 package com.example.myproject; // 임포트문 import java.util.Random; // 클래스 선언 public class SimpleJavaCode { // 메인 메서드 public static void main(String[] args) { // 코드 내용 System.out.println("Hello, Java!"); // 예제로 Random 클래스 사용 Random random = new Random(); int randomNumber = random.nextInt(100); System.out.println("Random Number: " + randomNumber); } }
- import문은 컴파일시 처리되므로 프로그램의 성능에 영향을 끼치지 않는다.import 패키지명.클래스명; 보다 import 패키지명.*; 쓰는 것이 더 편리하다
-"*"의 의미는 해당 패키지의 모든 클래스를 뜻한다. 패키지는 포함하지 않는다.
따라서 아래의 두 코드는 의미가 다르다import java.util.*; import java.text.*;
import java.*
- 이름이 같은 클래스가 속한 두 패키지를 import 할때는 클래스 앞에 패키지명을 붙여줘야한다.import java.util.*; //java.util.Date import java.sql.*; //java.sql.Date public class Main { public static void main(String[] args) { java.util.Date date = new java.util.Date(); } }
ch7-16 static import문
- static멤버(static변수,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.*; public class Main { public static void main(String[] args) { System.out.println(Math.random()); out.println(random()); // 정적 임포트를 사용하여 out 필드 직접 사용,Math 클래스의 random 메서드를 클래스 이름 없이 직접 사용 System.out.println("Math PI:" + Math.PI ); out.println("Math PI:" + PI); // 정적 임포트를 사용하여 out 필드 직접 사용, Math 클래스의 정적 메서드와 상수를 클래스 이름 없이 직접 사용 } } /* 출력값 0.5670803116178808 0.3120518596498614 Math PI:3.141592653589793 Math PI:3.141592653589793 */
728x90