패스잇
모바일 개발 · 심화

대규모 안드로이드 프로젝트에서 멀티 모듈 아키텍처를 도입할 때의 장점과 단점을 설명하고, 모듈 간의 의존성 관리 및 순환 의존성 문제를 해결하는 방안에 대해 논의해 보세요.

힌트 · 빌드 속도 향상, 책임 분리, 코드 재사용성 등의 장점과 복잡성 증가, 설정 오버헤드 등의 단점을 설명합니다. DI와 인터페이스 기반의 분리를 통해 순환 의존성을 방지할 수 있습니다.

모듈화빌드 시간의존성 주입인터페이스순환 참조

모범답안

대규모 안드로이드 프로젝트에서 멀티 모듈 아키텍처를 도입하면 여러 장점이 있습니다. 빌드 속도가 빨라지고, 각 모듈별로 책임이 분리되어 유지보수가 용이해집니다. 또한, 공통 기능을 모듈로 분리하여 코드 재사용성을 높일 수 있습니다.

하지만 단점도 존재합니다. 프로젝트 구조가 복잡해지고, 모듈 간의 설정 오버헤드가 증가할 수 있습니다.

모듈 간 의존성 관리는 Gradle을 통해 이루어지며, API와 Implementation을 적절히 사용하여 의존성을 제어합니다. 순환 의존성 문제는 주로 인터페이스 기반으로 모듈을 분리하고, DI(Dependency Injection) 라이브러리를 활용하여 해결합니다. 예를 들어, A 모듈이 B 모듈에 의존하고, B 모듈이 A 모듈에 의존하는 경우, A 모듈은 B 모듈의 인터페이스에만 의존하도록 설계하여 순환 참조를 방지할 수 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 Android / Kotlin 면접 질문

← Android / Kotlin 면접 질문 전체 보기