클래스:
1. 하나의 소스파일에는 public으로 선언된 클래스의 정의를 하나만 둘 수 있다
2. 소스파일의 이름은 public으로 선언된 클래스의 이름과 동일해야 한다.
패키지:
특성:
1. 클래스 접근 방법의 구분 - 서로 다른 패키지의 두 클래스는 인스턴스 생성 시 사용하는 이름이 다르다
2. 클래스의 공간적인 구분 - 서로 다른 패키지의 두 클래스 파일은 저장되는 위치가 다르다
규칙:
1. 클래스의 이름과 구분이 되도록 패키지의 이름은 모두 소무자로 구성한다
2. 인터넷 도메인 이름의 역순으로 패키지 이름을 구성한다
3. 패키지 이름의 끝에 클래스를 정의한 주체 또는 팀을 구분하는 이름을 추가한다.