자바 임포트란
다른 패키지 안의 클래스를 사용하기 위해서는 클래스 이름 앞에 패키지를 붙여야 합니다.
하지만 다른 패키지에 속한 클래스의 이름 앞에 매번 패키지 이름을 붙이는 것은 상당히 번거로운 작업이기 때문에
파일의 앞머리에 임포트(import)라는 작업으로 패키지를 매번 입력하는 단점을 없애 줄 수 있습니다.
임포트 작업을 해주면 다른 패키지 안의 클래스를 사용할 때 클래스 이름만 적어주면 됩니다.
임포트 기능의 단점(?)
임포트의 경우 다른 패키지와 클래스 명칭이 겹치면 자바에서는 이를 구분할 수 없기 때문에 클래스 충돌이 발생합니다.
The import Package conflicts with a type defined in the same file. |
아래 사진은 Chapter13_package1 패키지에 PackageTest 클래스가 있는데
Chapter13_package2 패키지의 PackageTest 클래스를 Chapter13_package1 패키지에 임포트 하는 경우입니다.
이 때 자바는 어떤 패키지의 클래스인지 구분할 수 없게 된다는 에러메시지가 발생합니다.
이럴 때는 어쩔수 없이 패키지의 명칭을 작성해 주어야 합니다.
클래스 라이브러리의 패키지
자바에서는 여러 유용한 클래스 라이브러리를 패키지 형태로 제공하고 있습니다.
클래스 라이브러리의 주요 패키지 입니다.
아래 클래스를 사용하기 위해서는 코드 상단에 패키지 명을 import 를 해주면 됩니다.
1
|
import java.applet.*;
|
cs |
패키지 이름 | 패키지에 포함된 클래스 |
java.applet | 애플릿 관련 클래스 |
java.awt | 윈도우 부품 관련 클래스 |
java.awt.event | 이벤트 관련 클래스 |
java.awt.image | 이미지 관련 클래스 |
java.lang | 기본적인 클래스 |
java.io | 입출력 관련 클래스 |
java.net | 네트워크 관련 클래스 |
java.util | 유틸리티 관련 클래스 |
java.math | 수치 연산 관련 클래스 |
java.text | 숫자와 날짜 등의 국제화 관련 클래스 |
임포트 예제
임포트를 사용하는 방법입니다.
주석으로 설명을 달아놓았기 때문에 보시는데 어려움은 없으실 것으로 예상됩니다.
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
|
package Chapter13_package1;
import Chapter13_package2.PackageTest2;
public class PackageTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
// Chapter13_package2 의 PackageTest 클래스를 사용
// 클래스 충돌이 발생하기 때문에 패키지를 명시 필요
Chapter13_package2.PackageTest pk = new Chapter13_package2.PackageTest();
pk.package_function();
// Chapter13_package2 의 PackageTest2 클래스를 사용
// import 를 해주었기 때문에 클래스명만 사용
PackageTest2 pt2 = new PackageTest2();
pt2.package_function();
// Chapter13_package1 의 PackageTest 클래스를 사용
// 클래스 명을 작성하지 않으면 현재 패키지의 클래스를 참조
package_function();
}
public static void package_function() {
System.out.println("패키지1 의 함수");
}
}
|
cs |
1
2
3
4
5
6
7
8
|
package Chapter13_package2;
public class PackageTest {
public void package_function () {
System.out.println("패키지2 의 함수");
}
}
|
cs |
1
2
3
4
5
6
7
8
|
package Chapter13_package2;
public class PackageTest2 {
public void package_function () {
System.out.println("패키지2 의 함수2");
}
}
|
cs |
'Computer Language > JAVA' 카테고리의 다른 글
[JAVA] 자바 스레드 사용방법 (1) | 2021.03.25 |
---|---|
[JAVA] 자바 예외처리 방법 try catch finally 문 (0) | 2021.03.17 |
[JAVA] 자바 패키지(Package)란? (0) | 2021.03.16 |
[JAVA] 자바 파일 분할, 파일 나누어 코딩하는 방법 (1) | 2021.03.16 |
[JAVA] 자바 인터페이스란, 2개 이상의 인터페이스 구현하기 (0) | 2021.03.15 |