모바일 개발 · 기초
StatefulWidget의 주요 생명주기 메서드들을 나열하고, 각 메서드가 어떤 시점에 호출되며 어떤 역할을 하는지 설명해주세요.
힌트 · StatefulWidget은 createState(), initState(), build(), dispose() 등의 생명주기 메서드를 가지며, 각 메서드는 위젯의 생성, 초기화, 업데이트, 소멸 시점에 호출됩니다.
initStatebuilddidUpdateWidgetsetStatedispose
모범답안
StatefulWidget의 주요 생명주기 메서드는 다음과 같습니다.
먼저 createState()는 StatefulWidget과 연결될 State 객체를 생성하는 메서드입니다. 위젯이 처음 생성될 때 딱 한 번 호출됩니다.
initState()는 State 객체가 생성된 후, 위젯 트리에 삽입되기 직전에 호출됩니다. 여기서 초기화 작업을 수행합니다. 예를 들어, 컨트롤러를 초기화하거나 데이터를 가져올 수 있습니다.
build()는 위젯의 UI를 구성하는 메서드입니다. 위젯이 처음 생성될 때, setState()가 호출될 때, 그리고 부모 위젯이 재빌드될 때 등 여러 상황에서 호출될 수 있습니다.
didUpdateWidget()은 위젯의 설정이 변경되었을 때 호출됩니다. 이전 위젯과 현재 위젯을 비교하여 필요한 업데이트를 수행할 수 있습니다.
마지막으로 dispose()는 State 객체가 위젯 트리에서 제거될 때 호출됩니다. 여기서 리소스를 해제해야 합니다. 예를 들어, 컨트롤러를 dispose하거나 스트림 구독을 취소할 수 있습니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 Flutter / Dart 면접 질문
- Flutter는 어떤 특징을 가진 프레임워크이며, 모바일 앱 개발에서 어떤 이점을 제공하나요?
- Dart 언어의 주요 특징 세 가지를 설명하고, Flutter 개발에 있어 Dart가 가지는 장점은 무엇인가요?
- Flutter의 위젯(Widget) 개념에 대해 설명하고, Stateless 위젯과 Stateful 위젯의 차이점을 예시와 함께 설명해주세요.
- Flutter 개발 시 'Hot Reload'와 'Hot Restart'는 각각 어떤 기능이며, 두 기능의 주요 차이점은 무엇인가요?
- Flutter 프로젝트에서 `pubspec.yaml` 파일의 역할은 무엇이며, 주로 어떤 정보를 관리하는 데 사용되나요?
- Flutter에서 `BuildContext`는 무엇이며, 어떤 용도로 사용되는지 구체적인 예시와 함께 설명해주세요.