반응형
소스파일 작성할 때 다른 패키지의 클래스를 사용하려면 패키지명이 포함된 클래스 이름을 사용해야 한다.
클래스의 코드를 작성하기 전에 import문으로 사용하고자 하는 클래스의 패키지를 미리 명시해주면 소스코드에 사용되는 클래스이름에서 패키지명은 생략할 수 있다.
import문 역활
- 컴파일러에게 소스파일에 사용된 클래스의 패키지에 대한 정보를 제공
- 컴파일 시에 컴파일러는 import문을 통해 소스파일에 사용된 클래스들의 패키지를 알아낸 다음 모든 클래스이름 앞에 패키지명을 붙여준다.
- 모든 소스파일(.java)에서 import문 선언은 package문 다음에 클래스 선언문 이전에 선언 가능하다. (한 소스파일에 여러 번 선언할 수 있다.)
선언방법
import 패키지명.클래스명;
또는
import 패키지명.*;
//'*' 사용하면, 컴파일러는 해당 패키지에서 일치하는 클래스이름을 찾아야 하는 수고를 더 해야 한다.
// 실행시 성능상의 차이는 전혀 없다.
static import문
import문을 사용하면 클래스의 패키지명을 생략할 수 있는 것처럼 static import문은 사용하면 static멤버를 호출할 때 클래스 이름을 생략할 수 있다. (특정 클래스의 static멤버를 자주 사용할 때 편리하다.)
import static java.lang.System.out;
public static void main(String[] args) {
out.println("hi");
}
[java] static 파헤치다..!
클래스를 설계할 때, 멤버변수 중 모든 인스턴스에 공통으로 사용하는 것에 붙이기 생성된 인스턴스는 서로 독립적이기 때문이다. Card c1 = new Card(); //new 연산자를 통해서 독립적으로 만들기 Card
uhanuu.tistory.com
[java] 패키지(package)
클래스 또는 인터페이스를 포함시킬 수 있으며, 서로 관련된 클래스들끼리 그룹 단위로 묶어 놓음으로써 클래스를 효율적으로 관리할 수 있다. 같은 이름의 클래스라도 서로 다른 패키지에 존
uhanuu.tistory.com
반응형
'책 > Java의 정석' 카테고리의 다른 글
[java] 추상클래스와 추상메서드 (0) | 2023.02.04 |
---|---|
[java] 제어자(modifier) (2) | 2023.02.04 |
[java] 패키지(package) (0) | 2023.02.04 |
[java] 참조변수(super) (0) | 2023.02.04 |
[java] 오버로딩 오버라이딩 (0) | 2023.02.04 |