플러터 B반 숙제4

이담현·2026년 4월 6일
  1. 플러터의 두 가지 주요 위젯 구조를 배움StatelessWidget (상태 없는 위젯)데이터 변경이 없고 UI가 고정된 화면(텍스트, 고정 아이콘 등)을 만들 때 사용함.한 번 화면에 그려지면 내부 값이 변동되지 않음.상태를 변경할 값이 없을 때 선택함.

StatefulWidget (상태 있는 위젯)버튼 클릭, 입력값 변화, API 데이터 반영, 애니메이션 등 값이 바뀌면 UI도 함께 바뀌어야 할 때 사용함.

내부에 State 객체가 존재하며, setState() 함수를 통해 화면을 갱신함.

  1. StatefulWidget의 생명주기(LifeCycle)를 이해함createState(): UI 없이 State 객체를 생성함 (최초 1번 실행).initState(): API 호출, 변수 초기화, 리스너 등록 등 초기 세팅을 수행함 (최초 1번 실행).build(): 실제 UI를 그리는 역할을 하며, 상태가 바뀔 때마다 여러 번 실행되므로 코드를 가볍게 유지해야 함.

setState(): 상태를 변경하고 화면을 다시 그리도록(rebuild) 요청함.동작 원리: [클린 상태] \rightarrow setState() 호출 \rightarrow [더티 상태] \rightarrow build() 재실행 \rightarrow 다시 [클린 상태]가 되는 과정을 반복함.

dispose(): 화면이 사라질 때 딱 한 번 실행되며, 컨트롤러 해제 및 메모리 정리를 수행함.

  1. 이벤트 기반 콜백 함수와 비동기 처리를 배움플러터는 이벤트 기반 구조로 동작함.

ElevatedButton의 onPressed: () { ... }처럼 버튼을 눌렀을 때 실행되는 대표적인 콜백 함수 사용법을 배움.async 키워드와 await Future.delayed(Duration(seconds: 2))를 활용해 2초 대기 후 코드를 실행하는 비동기 처리 방식을 배움.

  1. iOS 스타일 다이얼로그와 화면 크기 제어법을 배움showCupertinoDialog()애플 본사가 있는 미국 도시 '쿠퍼티노(Cupertino)'의 이름을 딴, iOS 디자인 양식의 다이얼로그를 띄우는 함수임.

모든 showDialog 관련 함수는 화면의 위치 정보를 담고 있는 BuildContext를 반드시 사용해야 함.barrierDismissible: true 속성 등을 활용해 다이얼로그 바깥을 눌렀을 때 닫히게 할지 등을 설정함.

MediaQuery.of(context)화면의 크기 정보를 가져올 때 사용함.

MediaQuery.of(context).size.height / 2와 같이 작성하여 기기 화면 높이의 절반 크기로 UI를 동적 설정하는 방법을 배움.

profile
최고 최선의 코드를 생성하는 개발자

0개의 댓글