Programming/Java
[Java] package와 import
kmindev
2023. 10. 16. 09:32
남궁성님의 Java의 정석(3rd Edition)을 보고 정리한 글입니다.
1. package란?
- 서로 관련된 클래스들끼리 그룹 단위를 package로 묶어서 효율적으로 관리
- 클래스의 이름이 동일해도 서로 다른 package이면 다른 클래스로 인식
- package는 물리적으로 하나의 디렉토리이며, package에 다른 package를 포함시킬 수 있다.
2. package 네이밍 규칙
- pacakge 명은 소문자로 사용하는 것이 원칙
- java로 시작하는 패키지 금지(자바 표준 api에서만사용)
- 자바 예약어 금지
패키지는 .(dot)로 구분 한다.
package 상위패키지명.하위패키지명
package org.example.pck;
3. import문
- 다른 패키지의 클래스를 사용할 경우 패키지명과 클래스를 모두 기술해야 사용할 수 있다.
- import 문을 사용해서 패키지명을 생략할 수 있다.
package org.example.pck2;
public class Class2 {
org.example.pck1.Class1 class1 = new org.example.pck1.Class1();
}
package org.example.pck2;
import org.example.pck1.Class1; // import 문을 사용해서 패키지명을 생략할 수 있다.
public class Class2 {
Class1 class1 = new Class1();
}
4. static import문
- import문은 패키지명을 생략할 수 있다.
- static import문을 사용하면 static 멤버를 호출할 때 클래스명을 생략할 수 있다.
package org.example.pck1;
public class Class1 {
public static String name = "홍길동";
}
package org.example.pck2;
import org.example.pck1.Class1;
public class Class2 {
public static void main(String[] args) {
Class1.name = "이순신";
}
}
package org.example.pck2;
import static org.example.pck1.Class1.name;
public class Class2 {
public static void main(String[] args) {
name = "이순신";
}
}
- static 멤버를 사용하려면 static 멤버앞에 클래스명을 붙혀줘야 한다.
- import static문을 사용하면 생략이 가능하다.