패키지란? 클래스의 묶음이다. 패키지에는 클래스 또는 인터페이스를 포함시킬 수 있으며, 서로 관련된 클래스들 끼리 그룹 단위로 묶어 놓음으로써 클래스를 효율적으로 관리할 수 있다.
클래스는 한개의 패키지당 같은이름은 허용하지 않지만 패키지가 다르다면 얼마든지 같은 이름의 클래스를 만들 수 있다. 그래서 실제로 클래스의 이름은 '패키지명.클래스명' 이지만 패키지명은 생략한다. 우리가 흔히 쓰는 String클래스도 원래는 java.lang.String인 것이다. 이에서 알 수 있듯, 패키지도 다른 패키지를 포함할 수 있다.
패키지를 선언하는 것은 아주 간단하다. 클래스나 인터페잇의 소스파일(.java)의 맨 위에 다음과 같이 한 줄만 작성하면 된다.
package 패키지명;
위와 같은 패키지 선언문은 반드시 소스파일에서 주석과 공백을 제외한 첫 번째 문장이어야만 하고, 소스파일당 한 번만 선언가능 하다. 해당 소스파일에 포함된 모든 클래스나 인터페이스는 선언된 패키지에 속하게 된다.
패키지명은 보통 소문자로 작명하는것을 원칙으로 하고 있다.