모바일 개발 · 기초
Flutter 개발 시 'Hot Reload'와 'Hot Restart'는 각각 어떤 기능이며, 두 기능의 주요 차이점은 무엇인가요?
힌트 · Hot Reload는 앱의 상태를 유지한 채 코드 변경 사항을 빠르게 반영하고, Hot Restart는 앱의 상태를 초기화하고 처음부터 다시 시작하여 모든 변경 사항을 적용합니다.
상태 유지코드 변경앱 재시작initStatebuildContext
모범답안
Flutter 개발 시 Hot Reload와 Hot Restart는 개발 생산성을 높여주는 아주 유용한 기능입니다.
Hot Reload는 앱이 실행 중인 상태에서 코드 변경 사항을 빠르게 반영하는 기능입니다. 앱의 상태를 유지하면서 변경된 부분만 업데이트하기 때문에 UI를 수정하거나 작은 로직을 변경했을 때 결과를 즉시 확인할 수 있습니다. 예를 들어, 버튼의 색깔을 바꾸거나 텍스트 내용을 수정했을 때 빠르게 적용되는 것을 볼 수 있습니다.
반면 Hot Restart는 앱을 완전히 재시작하는 기능입니다. 앱의 상태가 초기화되고 initState()와 같은 초기화 함수들이 다시 실행됩니다. 따라서 앱의 전체적인 구조를 변경하거나, 상태 관리 로직을 크게 수정했을 때 Hot Restart를 사용해야 변경 사항이 제대로 반영됩니다.
주요 차이점은 상태 유지 여부입니다. Hot Reload는 상태를 유지하고, Hot Restart는 상태를 초기화합니다. 어떤 변경 사항을 적용하느냐에 따라 적절한 기능을 선택하는 것이 중요합니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 Flutter / Dart 면접 질문
- Dart 언어의 주요 특징 세 가지를 설명하고, Flutter 개발에 있어 Dart가 가지는 장점은 무엇인가요?
- Flutter의 위젯(Widget) 개념에 대해 설명하고, Stateless 위젯과 Stateful 위젯의 차이점을 예시와 함께 설명해주세요.
- StatefulWidget의 주요 생명주기 메서드들을 나열하고, 각 메서드가 어떤 시점에 호출되며 어떤 역할을 하는지 설명해주세요.
- Flutter 프로젝트에서 `pubspec.yaml` 파일의 역할은 무엇이며, 주로 어떤 정보를 관리하는 데 사용되나요?
- Flutter에서 `BuildContext`는 무엇이며, 어떤 용도로 사용되는지 구체적인 예시와 함께 설명해주세요.
- Flutter에서 Widget Tree와 Element Tree는 어떤 관계를 가지며, 각각의 주요 역할은 무엇인지 설명해주세요. 특히, 두 트리가 존재하는 이유와 동작 원리에 대해 구체적인 예를 들어 설명해주세요.