모바일 개발 · 기초
Flutter 프로젝트에서 `pubspec.yaml` 파일의 역할은 무엇이며, 주로 어떤 정보를 관리하는 데 사용되나요?
힌트 · `pubspec.yaml`은 프로젝트의 메타데이터, 의존성(패키지), 에셋(이미지, 폰트) 등을 정의하는 파일로, Flutter 프로젝트의 핵심 설정 파일입니다.
의존성 관리패키지 정보애셋 관리프로젝트 설정
모범답안
pubspec.yaml 파일은 Flutter 프로젝트의 핵심 설정 파일이라고 할 수 있습니다. 프로젝트에 대한 전반적인 정보를 담고 있죠.
가장 중요한 역할은 프로젝트에서 사용하는 외부 패키지, 즉 의존성을 관리하는 것입니다. 어떤 패키지를 사용하고, 어떤 버전을 사용하는지 명시하여 일관성 있는 개발 환경을 유지하도록 돕습니다.
뿐만 아니라 프로젝트의 이름, 설명, 버전 정보 등 기본적인 메타데이터도 정의하고, 앱에서 사용하는 이미지, 폰트와 같은 에셋 파일들을 등록하고 관리하는 데에도 사용됩니다. 예를 들어, assets: 섹션에 이미지 폴더를 지정하면 앱에서 해당 이미지들을 쉽게 사용할 수 있게 됩니다.
요약하자면, pubspec.yaml은 프로젝트의 '설계도'와 같은 역할을 하며, Flutter 프로젝트를 구성하고 관리하는 데 필수적인 파일입니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 Flutter / Dart 면접 질문
- Flutter의 위젯(Widget) 개념에 대해 설명하고, Stateless 위젯과 Stateful 위젯의 차이점을 예시와 함께 설명해주세요.
- StatefulWidget의 주요 생명주기 메서드들을 나열하고, 각 메서드가 어떤 시점에 호출되며 어떤 역할을 하는지 설명해주세요.
- Flutter 개발 시 'Hot Reload'와 'Hot Restart'는 각각 어떤 기능이며, 두 기능의 주요 차이점은 무엇인가요?
- Flutter에서 `BuildContext`는 무엇이며, 어떤 용도로 사용되는지 구체적인 예시와 함께 설명해주세요.
- Flutter에서 Widget Tree와 Element Tree는 어떤 관계를 가지며, 각각의 주요 역할은 무엇인지 설명해주세요. 특히, 두 트리가 존재하는 이유와 동작 원리에 대해 구체적인 예를 들어 설명해주세요.
- Flutter에서 `Provider`와 `BLoC/Riverpod`과 같은 상태 관리 솔루션들의 주요 차이점은 무엇이며, 각각 어떤 상황에서 사용하는 것이 적합하다고 생각하시나요? 실제 프로젝트 경험을 바탕으로 비교 설명해주세요.