forDevLife
[java] import, static import 문 본문
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 |