패스잇
모바일 개발 · 중급

Android Jetpack Navigation Component를 사용하여 앱 내 화면 간 이동을 구현할 때의 장점은 무엇이며, NavController, NavGraph, NavHostFragment가 각각 어떤 역할을 하는지 설명해주세요.

힌트 · Navigation Component는 화면 전환을 중앙에서 관리하며, Safe Args와 같은 기능을 통해 타입 안정성을 제공합니다. 각 구성 요소의 역할 분담을 설명하세요.

단일 액티비티 아키텍처UI 컨트롤러 관리탐색 그래프NavControllerNavHostFragment

모범답안

Android Jetpack Navigation Component를 사용하면 앱 내 화면 이동을 훨씬 효율적으로 관리할 수 있습니다. 가장 큰 장점은 단일 액티비티 아키텍처를 쉽게 구현할 수 있다는 점입니다. 화면 전환 로직을 중앙 집중적으로 관리하여 코드 중복을 줄이고 유지보수성을 높여줍니다. 또한, Safe Args를 사용하면 화면 간 데이터 전달 시 타입 안정성을 확보할 수 있어 런타임 오류를 예방할 수 있습니다.

각 구성 요소의 역할은 다음과 같습니다. NavController는 화면 이동을 수행하는 핵심 컨트롤러입니다. NavGraph는 앱 내 모든 탐색 경로를 정의하는 XML 파일로, 화면 간의 관계를 시각적으로 보여줍니다. NavHostFragment는 NavGraph를 호스팅하고 화면 전환을 처리하는 컨테이너 역할을 합니다. NavController를 통해 NavHostFragment 내에서 화면을 전환하게 됩니다.

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

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

함께 보는 Android / Kotlin 면접 질문

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