모바일 개발 · 기초
Flutter의 위젯(Widget) 개념에 대해 설명하고, Stateless 위젯과 Stateful 위젯의 차이점을 예시와 함께 설명해주세요.
힌트 · 위젯은 Flutter 앱의 UI를 구성하는 기본 빌딩 블록입니다. Stateless 위젯은 상태가 변하지 않는 UI를, Stateful 위젯은 상호작용에 따라 상태가 변하는 UI를 표현합니다.
위젯 트리불변성상태 관리build 메서드setState
모범답안
Flutter에서 위젯은 UI를 구성하는 가장 기본적인 단위입니다. 모든 UI 요소는 위젯으로 표현되며, 이 위젯들이 트리 형태로 구성되어 화면을 그립니다.
Stateless 위젯과 Stateful 위젯의 주요 차이점은 상태 변화 가능성입니다. Stateless 위젯은 생성된 후에는 내부 상태가 변하지 않는 위젯입니다. 예를 들어, 단순히 텍스트를 보여주는 Text 위젯이나 아이콘을 표시하는 Icon 위젯 등이 있습니다. 이들은 한 번 생성되면 내용이 바뀌지 않습니다.
반면, Stateful 위젯은 사용자의 상호작용이나 데이터 변경에 따라 내부 상태가 변할 수 있는 위젯입니다. 예를 들어, 버튼을 누를 때마다 숫자가 증가하는 카운터 앱을 생각해볼 수 있습니다. 이 경우, 숫자를 저장하고 관리하는 위젯은 Stateful 위젯이어야 합니다. 상태가 변경될 때마다 setState() 메서드를 호출하여 UI를 다시 그리도록 합니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 Flutter / Dart 면접 질문
- Flutter는 어떤 특징을 가진 프레임워크이며, 모바일 앱 개발에서 어떤 이점을 제공하나요?
- Dart 언어의 주요 특징 세 가지를 설명하고, Flutter 개발에 있어 Dart가 가지는 장점은 무엇인가요?
- StatefulWidget의 주요 생명주기 메서드들을 나열하고, 각 메서드가 어떤 시점에 호출되며 어떤 역할을 하는지 설명해주세요.
- Flutter 개발 시 'Hot Reload'와 'Hot Restart'는 각각 어떤 기능이며, 두 기능의 주요 차이점은 무엇인가요?
- Flutter 프로젝트에서 `pubspec.yaml` 파일의 역할은 무엇이며, 주로 어떤 정보를 관리하는 데 사용되나요?