모듈의 필요성 좋은 모듈 시스템은 소프트웨어 엔지니어링의 몇 가지 기본적인 필요성을 마주할 때 도움을 준다. 코드베이스를 나누어 여러 파일로 분할하는 방법을 제시한다. 이것은 코드를 좀 더 구조적으로 관리할 수 있게 해주고 각각으로부터 독립적인 기능의 조각들을 개발 및 테스트하는 데에 도움을 주며 이해하기 쉽게 한다. 다른 프로젝트에 코드를 재사용할 수 있게 해준다. 실제로 모듈은 다른 프로젝트에도 유용하고 일반적인 특성을 구현할 수 있다. 모듈로서 기능을 구조화하는 것이 그 기능들이 필요한 다른 프로젝트로 좀 더 쉽게 이동시킬 수 있다. 은닉성을 제공한다. 일반적으로 복잡한 구현을 숨긴 채 명료한 책임을 가진 간단한 인터페이스만 노출시키는 것이 좋은 방식이다. 대부분의 모듈 시스템은 함수와 클래스 또는..