클래스의 집합으로
파일을 분류하기 위한 폴더, 디렉토리와 같은 개념이다
- user
- User
- UserManager
- order
- Order
- OrderService
package 생성 시 위치에 주의해야 한다
package user
public class User {
public User() {
System.out.println("패키지 내에 User 클래스 생성")
}
}
패키지도 트리 구조로 작성하여
객체와 같이 .(dot)을 통해 연결하여 참조할 수 있다
다른 패키지에서 호출되는 클래스의 생성자가 있다면
public 접근 제어자를 사용 후 패키지 경로와 함께 적어줘야 한다
package pack;
public class Main1 {
public static void main(String[] args) {
Data data = new Data() // 같은 패키지 내의 클래스
pack.a.User user = new pack.a.User() // 다른 패키지의 클래스
}
}
패키지 경로는 import 를 통해 한 번에 가져와 간소화 할 수 있다
package pack;
import pack.a.User // 항상 패키지명 다음에 작성
public class Main1 {
public static void main(String[] args) {
Data data = new Data() // 같은 패키지 내의 클래스
User user = new User() // 다른 패키지의 클래스
}
}
import pack.a.* // 와일드카드를 사용하여 패키지 내의 모든 클래스를 불러올 수 있다
서로 다른 패키지에서 같은 이름의 클래스가 존재하는 경우
함께 쓰려면 import 는 한 쪽만 가능하다