멀티 모듈 아키텍처에서 순환 의존성을 단방향 설계로 해결한 경험을 정리한 결
졸업 프로젝트에서 멀티 모듈 안드로이드 앱 구조를 처음 설계했습니다. 초기에 모듈 분리를 과도하게 세분화했더니 순환 의존성 문제가 여러 곳에서 생겼습니다. 각 모듈이 공통 유틸리티가 없어 서로를 참조하는 구조가 원인이었고, core 모듈을 최하위에 두고 공통 인터페이스·유틸리티를 여기에만 집중시켜 의존성 방향을 단방향으로 고정했습니다. 이후 Gradle 빌드 시간이 병렬 컴파일 덕분에 21% 감소했고, 기능 모듈 하나만 수정할 때 전체 재빌드가 필요 없어졌습니다. 이 경험으로 모듈 설계는 분리 기준보다 의존성 방향을 먼저 정의하는 것이 핵심이라는 것을 배웠습니다.