: 모든 시각적 요소(버튼, 텍스트, 이미지)
-> 계층구조
-> 효율적인 통신을 위해 상태 관리 패턴인 Provider, Riverpod, Bloc 등 사용 가능
Center() : 부모위젯을 기준으로 자식위젯을 가운데 정렬
Container() : 내부의 정 가운데 자식위젯을 위치
StatelessWidget
: 상태가 고정일 때 사용(앱의 로고나 정적 텍스트)
-> Text, Image, Container, Row, Column, ListView 등 클래스 포함
Object: 모든 플러터 객체의 기본 클래스
Diagnosticable: 진단 정보를 제공하기 위한 추상 클래스
DiagnosticableTree: 진단 정보를 트리 구조로 제공하기 위한 추상 클래스
Widget: 플러터의 위젯을 나타내기 위한 추상 클래스
Text: 주어진 텍스트를 화면에 표시
StatefulWidget
: 상태가 변하고 UI 바뀜이 필요할 때 사용
->TextButton, IconButton, Checkbox, Radio, TextFormField, DropdownButton 등 클래스 포함
MaterialButton: 머티리얼 디자인 스타일을 가지는 버튼 위젯을 나타냄
(TextButton은 MaterialButton의 하위 클래스)
TextButton: 텍스트를 보여주고 사용자 입력에 반응하는 버튼 위젯
(일반적으로 눌렀을 때 어떤 작업을 수행하기 위해 사용)