자바 패키지, package

패키지는 클래스의 기능이나 업무 영역에 따라 분류하여 묶어 놓은 말 그대로 패키지(package) 입니다.

Naming Convention

네이밍 룰(Rule)이 아니라 네이밍 컨벤션입니다. 반드시 지켜야 할 약속은 아니지만, 대게 패키지는 인터넷 url을 역순으로 쓰는 것처럼 이름을 붙입니다.

대부분 자바 프로그램은 웹에서 사용하기 위해 만듭니다. 그래서 대부분 사용할 웹 도메인을 가지고 있는 경우가 많습니다. 물론, 도메인이 없는 경우 혹은 아직 도메인을 확보하지 않은 경우도 있지만, 그런 경우도 마치 도메인처럼 패키지 이름을 붙여서 사용합니다.

이렇게 할 경우 알파벳 순서로 자연스럽게 정렬이 되어서, 내가 개발하거나 수정해야 하는 소스코드의 위치를 찾기 쉽습니다. 그래서 관습적으로 마치 도메인 같은 패키지 이름을 역순으로 사용합니다. (도메인이 없더라도 말이지요)

또한, 패키지 이름은 관습적으로 소문자만 이용하여 네이밍합니다.

Package 예제

com
├── com.library
│ ├── com.library.book
│ │├── com.library.book.util
│ └── com.library.user
├── com.school
│ ├── com.school.playground
│ ├── com.school.student
│ ├── com.school.teacher

도메인 역순 스타일의 패키지 이름을 부여하면, 자연스럽게 알파벳 순서대로 정렬되어, 패키지를 구분하기 편리합니다.

접근제어자

패키지와 관련있는 것이 접근제어자입니다. 다음 포스트에서 4가지 접근 제어자에 대해서 알아보도록 하겠습니다.