안드로이드 앱에서 기능 도메인 단위 모듈 분리, 단방향 의존성 유지, 인터페이스로 내부 구현 캡슐화로 모듈 간 결합 최소화
멀티 모듈 구조는 안드로이드 앱 학부 프로젝트에서 처음 적용해봤습니다. 기능 도메인 단위로 모듈을 나누고, 공통 유틸리티는 별도 모듈로 분리해 여러 기능 모듈에서 참조하는 구조를 만들었습니다. 모듈 간 의존성 방향을 단방향으로 유지하려고 신경 썼는데, 순환 의존이 생기면 빌드 오류와 함께 설계 결함을 의미한다는 것을 배웠습니다.
각 모듈이 자신의 책임 범위만 노출하도록 인터페이스를 설계하면 다른 모듈이 내부 구현에 의존하는 상황을 막을 수 있었습니다. 초기에 모듈 경계를 잘못 나누면 나중에 재구성 비용이 크기 때문에, 기능 단위를 먼저 명확히 정의하는 것이 중요했습니다. 멀티 모듈 구조가 빌드 시간 단축과 팀 병렬 개발에 실질적으로 도움이 된다는 것을 경험했습니다.