Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

forDevLife

[java] import, static import 문 본문

Java

[java] import, static import 문

JH_Lucid 2021. 6. 9. 22:51

1. import 문

 

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

- 컴파일러에게 클래스가 속한 패키지를 알려준다.

- java.lang 패키지의 클래스는 import 필요없다.(기본 패키지이므로)

   -> String, Object, System, Thread 등

 

- import문은 패키지문과 클래스 선언 사이에 위치해야 한다.

    패키지 선언 -> import 문 -> 클래스 선언

 

- import는 컴파일 시에 처리되므로, 프로그램의 성능에 문제 없다. 고로 *로 찍어도 된다.

   -> 컴파일러에게 뭐 시간이 좀 더 걸리긴 하겠지만.

   -> 하지만 실제로 사용하는 클래스를 명시적으로 지정하는 것도 좋다.

 

- 위의 두 개 코드는 의미가 다름에 유의한다.

   -> 왼쪽은 java.util 및 java.text 패키지의 모든 클래스를 의미한다.

   -> 오른쪽은 java패키지의 모든 클래스를 의미한다. 패키지는 포함되지 않는다.

 

- 이름이 같은 클래스가 속한 두 패키지를 Import 할 때는, 클래스 앞에 패키지명을 붙여줘야 한다.(명확)

 

 

2. 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만으로 참조 가능

 

- Out은 static 변수. (static 멤버 = static 변수 + static 메서드)

 

 

- System.out을 out만으로 참조 가능하도록 한다.

- PI는 static 상수. static import를 통해 PI로만 표현 가능하다.

- 꼭 필요할 때만 사용하자.

'Java' 카테고리의 다른 글

[Java] Recursive Type Bound  (0) 2021.11.14
[정규식] 문자열 계산기  (0) 2021.09.30
[java] hashCode(), toString(), equals()  (0) 2021.06.02
[java] 익명 클래스(anonymous class)  (0) 2021.05.28
[java] 디폴트 메서드, static 메서드  (0) 2021.05.28
Comments