패키지(package)는 클래스와 인터페이스 집합을 의미하며, 물리적으로는 하나의 디렉터리를 의미한다. 서로 관련 있는 클래스나 인터페이스를 함께 묶어 파일을 효율적으로 관리하고, 네임스페이스 충돌 문제를 피하기 위해 사용한다.

네임스페이스 충돌

한 패키지 내에서 동일한 이름을 가진 클래스를 중복으로 선언할 수 없다.

패키지는 다른 패키지를 포함할 수 있고, 디렉터리 계층 구조는 .로 구분된다.

package <패키지 이름>을 자바 파일에 추가하여 패키지를 선언한다. 패키지 이름에는 패키지의 경로를 포함한 전체 이름을 명시해야 함에 유의한다.

선언한 패키지는 import 문을 사용해 다른 파일에서 이용할 수 있다. import 문에서 *를 사용하는 것이 해당 패키지에 포함된 하위 패키지의 클래스까지 포함하지 않는다.

import <패키지 이름>.<클래스 이름>; // 특정 클래스만 사용
import <패키지이름>.*; // 모든 클래스를 클래스 이름으로 사용