패스잇
모바일 개발 · 중급

Flutter의 `InheritedWidget`이 어떻게 작동하는지 설명하고, 상태 관리 패턴에서 어떤 역할을 수행할 수 있는지 구체적인 사용 사례와 함께 설명해주세요.

힌트 · InheritedWidget은 위젯 트리를 통해 하위 위젯에 데이터를 효율적으로 전달하는 메커니즘을 제공합니다. 이는 Provider와 같은 상태 관리 패키지의 기반이 되며, 특정 데이터나 서비스를 전역적으로 공유할 때 유용합니다.

InheritedWidgetBuildContext상태전파Provider의존성 주입

모범답안

네, Flutter의 InheritedWidget에 대해 설명드리겠습니다.

InheritedWidget은 위젯 트리의 하위 위젯들에게 데이터를 효율적으로 전달하는 메커니즘입니다. 쉽게 말해, 위젯 트리의 상위에서 정의된 데이터를 하위 위젯들이 BuildContext를 통해 접근할 수 있도록 해줍니다.

상태 관리 패턴에서 InheritedWidget은 전역적으로 접근해야 하는 데이터를 공유하는 데 사용될 수 있습니다. 예를 들어, 앱의 테마 정보나 사용자 인증 정보 등을 InheritedWidget으로 감싸면, 앱 내의 모든 위젯이 쉽게 해당 정보에 접근하고 변경 사항을 반영할 수 있습니다.

Provider 패키지가 InheritedWidget을 기반으로 만들어졌으며, 의존성 주입을 통해 위젯 간 결합도를 낮추고 재사용성을 높이는 데 기여합니다. 간단한 앱 설정이나 테마 변경과 같이 앱 전체에 영향을 주는 상태를 관리할 때 유용하게 사용할 수 있습니다.

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

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

함께 보는 Flutter / Dart 면접 질문

← Flutter / Dart 면접 질문 전체 보기