하나의 프로젝트를 여러 개의 모듈로 구성하는 것
**독립적으로 운영
**될 수 있는 의미를 가지는 단위
계층형 아키텍처를 사용하여 하나의 모듈로 개발하면 개발 과정은 쉽지만
**의존성이 분산
**되기 때문에 유지보수하기 힘들다.
그렇기 때문에 멀티 모듈로 최소 의존성을 가지게 하기 위해 사용한다
확장이 용이
DIP를 쉽게 적용할 수 있다 infra → application으로만 의존성이 흐른다
계층형 아키텍처는 스파게티다
의존성이 굉장히 굉장히 꼬여버린다
최상단 프로젝트 누르고 → new module 들어간다
이렇게 해주고 루트 프로젝트를 골라준다
그 다음 패키지 이름 통일 등 정리할 것을 정리해준다