패키지를 사용하는 가장 큰 이유는 클래스명의 고유성을 보장하기 위해서이다.
>> 같은 이름의 서로 다른 목적을 가진 클래스명이 패키지가 다르다면 충돌하지 않는다.
(물론 그렇게 만들면 안되겠지만)
내가 원하는 class를 쉽게 찾기 위해서
배포가 필요한 소스 코드만 묶어서 배포하기 위해서
빌드, 실행 시간 단축을 위해
클래스의 필드 멤버를 최소화할수록 객체 복잡도를 줄이고 독립성을 유지한 채 응집도를 높이는 효과를 얻을 수 있다. 마찬가지로 클래스의 개수가 적은 패키징은 클래스의 의도가 반영된 패키지의 의도를 파악하기 용이하고 객체지향적인 구조를 얻을 수 있다고 생각한다.