[Fluter] 위젯은 무엇인가요?

하상현·2024년 4월 18일
1

위젯은 플러터(Flutter) 프레임워크에서 모든 UI를 만들고 구성하는 기본 단위입니다.
플러터에서 위젯은 크게 두가지로 나눌 수 있습니다.

Stateless Widget 과 Stateful Widget

Stateless Widget
상태가 없는 위젯(정적임)
한번 생성되면 변화가 없다.
예) Text, Icon, Container, Image

Stateful Widget

내부에 상태가 있는 위젯(동적임)
사용자의 상호작용이나 데이터를 받을 때 의해 모양이 바뀝니다.
예) Button, Listview, 애니메이션, Text Field

위젯트리

플러터에서 위젯들을 tree구조로 정리할 수 있습니다.
한 위젯 내에 다른 위젯들을 포함시킬 수 있기에 위젯들은 서로 부모 자식 관계로 구성됩니다.

루트위젯

모든 플러터 애플리케이션은 최상위에 위젯을 가지고 있으며, 이 위젯은 앱의 루트 위젯이 됩니다.
이 루트 위젯은 일반적으로 MaterialApp 또는 CupertinoApp과 같은 위젯입니다.


그럼 MyApp이 루트위젯이야 아니면 MaterialApp이 루트위젯이야?

MaterialApp이 애플리케이션의 루트 위젯입니다.

MyApp 클래스는 플러터(Flutter) 애플리케이션의 진입점이 되는 클래스이며, MaterialApp 위젯을 포함하고 있습니다. 
애플리케이션의 진입점에서 MaterialApp을 생성하여 애플리케이션의 기본 구성을 정의하고, 그 아래에 필요한 화면이나 위젯을 구성합니다.
따라서 MaterialApp을 애플리케이션의 루트 위젯으로 간주합니다.

그럼 class는 뭐야?

클래스는 객체 지향 프로그래밍에서 사용되는 개념으로, 객체를 생성하기 위한 템플릿이며, 객체의 상태와 동작을 정의합니다.

0개의 댓글