면접 준비 25.02.18
2025. 2. 18. 15:21
- StatefulWidget의 생명주기에 대해 설명하세요.
- 위젯 구축
- createState() : StatefulWidget을 사용할 때 가장 먼저 호출된다.
- initState() : 위젯이 생성될때 호출되는 메서드로 한번만 호출된다.
- didChangeDependencies() : initState 다음으로 바로 호출 되며 위젯이 의존하는 데이터의 객체가 호출될때마다 호출된다.
- 재 드로잉
- dirtry : 화면의 다시 빌드를 해야하는 상태
- didUpdateWidget() : 위젯이 변경될때 마다 호출되어 다시 build를 진행한다.(새로운 화면)
- build() : 위젯을 반환하고 반환된 위젯이 랜더링 되어 화면에 표시된다.
- setState() : 객체의 상태가 변경되었음을 프레임워트에 알린다.(기본화면의 변화)
- clean : state에 의해 화면이 정상출력되고 있는 상태
- 위젯 파기
- deactivate() : state object가 트리에서 삭제될때 호출, 메모리에는 남아있음
- dispose() : state object가 완전히 삭제됨
- 위젯 구축
- StatefulWidget에서 didUpdateWidget은 어떤 상황에서 사용하나요?
- 부모 위젯의 변경을 감지해서 자식 위젯을 변경해야하는 경우에 사용한다.
- Clean Architecture란 무엇인가요? Flutter에서 사용할 수 있는 예시와 함께 설명하세요.
- Clean Architecture란 소프트웨어 디자인 패턴 중 하나입니다. 디자인 계층, 도메인 계층, 데이터 계층으로 나누고
- Clean Architecture를 사용하는 이유는 무엇인가요?
- 디자인 계층, 도메인 계층, 데이터 계층으로 나누고 한 방향으로만 의존성이 생기게 하면서 결합도를 낮추고 다른 계층에 끼치는 영향을 최소화합니다. 그러면 각계층을 독립적으로 테스트가 가능하고, 유지보수에 유리해지는 장점이 있습니다.
- 이벤트 루프란 무엇인가요?
- 이벤트나 작업을 관리하고 하나의 작업이 완료되면 다음 작업을 실행하는 역할을 하는 프로그래밍 구조
- Flutter에서 AOT와 JIT 컴파일러란 무엇인가요? 어떤 상황에서 주로 사용하나요?
- AOT(Ahead Of Time) : 실행 이전에 컴파일을 완료한 뒤 기계어를 전달하는 컴파일러. 실행전에 코드 전체를 컴파일 하기 때문에 실행 속도가 빠르지만 설치 속도가 느리다. 배포 시에 사용하여 런타임 실행 성능을 확보한다.
- JIT(Just In Time) : 실행 직전(런타임)에 소스코드를 네이티브 기계어로 컴파일을 수행한다. 실시간으로 기계어로 컴파일을 변환하여 효율적인 실행이 가능하다. 개발도중 코드를 수정해도 Hot-Reload가 가능해서 바로 결과를 볼 수 있다. 설치가 빠르다. 실시간으로 컴파일을 하다보니 실행 성능이 비교적 낮다. 개발 중에 사용하여 실시간으로 수정사항을 확인할 수 있다.
- StatefulWidget 과 StatelessWidget 의 차이는 무엇인가요?
- StatefulWidget은 상태를 변화를 감지하여 변경된 상태에 따라서 위젯을 변경할 수 있어 동적인 UI를 표현할 수있다.
- StatelessWidget은 상태의 변화를 표현할 수 없고 정적인 UI만 표현할 수 있다.
- Flutter에서 무한 스크롤, 당겨서 새로고침 기능을 사용하는 이유는 무엇인가요?
- 무한 스크롤은 많은 데이터를 한번에 불러오지 않고 요청하는 만큼의 데이터만 가져오기 때문에 메모리를 절약하고 효율을 높일 수 있다.
- 새로고침은 화면의 refresh하는 방법중하나로 사용자가 원할때 정보를 새롭게 업데이트 할 수 있습니다.
'Flutter' 카테고리의 다른 글
면접 준비 25.02.14 (0) | 2025.02.14 |
---|---|
면접 준비 25.02.10 (0) | 2025.02.10 |
SharedPreferences 사용법 (0) | 2025.02.06 |
폰트 적용 (0) | 2025.02.06 |
flutter Statefulwigets 생명주기 (0) | 2025.01.15 |