결론부터 말하자면
module은 최상위 패키지라고 생각하면 된다.
module 또한 package들의 모음이며 packages의 top에 설치된다.
module have encapsulation & contract
(두번째 계약관계가 좀 애매모호 한데, package를 가져다 쓸 경우 해당 패키지에 개발자가 관여할 수 있어서 보증(guarantee)할 수 없다고 이해했다)
마치 method를 호출하는것 처럼 모듈을 만들어 호출하여 사용한다. (나는 일종의 interface를 통해 접근하는것과 유사하다고 생각했다.)
사실 결론을 내기에는 애매모호한 부분이 많고, 이해하기 어려웠지만 단순하게 생각하자면
module은 "필요한 패키지들만 모아, 캡슐화하여 정상적인 작동을 보증한다"를 목표로 설계한 것으로 해석했다.
모듈에 대해 자세한 내용은 좋은 블로그를 찾아 링크한다.
https://daily-life-of-bsh.tistory.com/129