본문 바로가기
Personal Study/Android

[Android] 멀티 모듈 프로젝트란?

by 명훈스토리 2023. 3. 13.
SMALL

1. 멀티 모듈 프로젝트란?

 안드로이드에서 멀티 모듈 프로젝트란 기능별로 모듈을 만들어 프로젝트를 구조화시켜 의존도를 낮춘 프로젝트를 의미합니다. 현실적으로 생각해보면 여기저기 흩어져 있는 코드들을 관련된 코드끼리 묶어 관리하는 프로젝트를 의미합니다. 

 

2. 모듈이란?

멀티 모듈을 알아보기 앞서 모듈이란 공식 문서에 따르면 다음과 같습니다.

모듈은 소스 파일 및 빌드 설정으로 구성된 모음이며, 이를 통해 프로젝트를 별개의 기능 단위로 분할할 수 있습니다. 프로젝트에는 하나 이상의 모듈이 포함될 수 있으며 하나의 모듈이 다른 모듈을 종속 항목으로 사용할 수 있습니다. 각 모듈은 개별적으로 빌드, 테스트 및 디버그 할 수 있습니다.

일반적으로 모듈을 만들면 Android Library로 만들고 특수한 경우에는 Java or Kotlin Library로 만듭니다. 기능에 따라 모듈 이름을 data, domain, presentation, shared 등으로 사용합니다. 로컬 데이터를 사용하는 SharedPreference 클래스나 네트워크로 데이터를 가져오는 API 기능을 따로 떼어 모듈로 만들 수 있습니다.

 

3. 장점 및 단점

멀티 모듈의 장점은 다음과 같습니다.

  • 의존성이 높아진다.
  • 빌드 속도가 늘어난다.
  • 코드의 재사용성을 높일 수 있다.

멀티 모듈의 단점은 다음과 같습니다.

  • 관리해야 할 파일들이 많아진다.
  • 특정 파일을 찾을 때 해메기 쉽다.

4. 결론

멀티 모듈을 잘 사용하면 프로젝트를 개발하는 데 편리할 수 있습니다. 그러나 요건을 통해 모듈을 설계하는 연습을 많이 한 후에 실무에 적용시켜야 합니다. 왜냐하면 app 모듈 하나에 모든 파일을 관리하면 긴급한 상황에 대응하기 비교적 쉽겠지만, 모듈을 나눠서 설계했을 때 목적에 맞지 않게 설계한다면 긴급한 상황에 대응하기 어렵기 때문입니다. 따라서 기간이 짧은 프로젝트의 경우 app 모듈에 모든 파일을 넣고 개발하고, 여유가 된다면 모듈로 리팩토링하는 것이 좋습니다. 또한, 개발 후 운영할 때 새로운 기능이 현재 프로젝트에서 모듈로 개발하면 더 효율적일 것으로 판단되면, 그 때 모듈로 만드는 것이 좋은 방향이라고 생각합니다.

LIST

댓글