<aside> 💡 Flutter는 위젯으로 시작해서 위젯으로 끝난다. Flutter에서 화면에 표시된 모든 요소가 위젯이며, 눈에 보이지 않지만 화면을 구성하는 레이아웃(Layout)도 위젯이다.
위젯 종류
</aside>
어떤 상태값을 가지고 있으며, 해당 상태값에 의해 화면에 움직임이나 변화를 표현할 때 사용한다.
ex) 텍스트 필드, 버튼, 서버에서 전달받은 값을 화면에 표시하는 위젯 등
예시와 같이 Stateful Widget
은 사용자의 인터렉션에 의해 모양이나 형태를 변경할 때 사용한다. Stateful Widget
은 StatefulWidget
을 상속받아 생성한다.
Stateless Widget
은 Stateful Widget
과는 반대로, 어떠한 상태도 가지고 있지 않은 정적인 위젯이다. 어떠한 상태값도 가지고 있지 않기에 어떠한 움직이나 변화가 없다.
ex) 텍스트, 이미지 등.
예시와 같이 Stateless Widget
은 화면에는 표시되지만, 사용자와 어떠한 인터렉션도 하지않으며, 어떠한 움직임이나 변화를 가지고 있지 않는다. Stateless Widget
은 StatelessWidget
을 상속하여 생성한다.
기본적으로 Flutter는 위젯을 사용하여 개발을 하게 된다. 한 위젯은 여러 위젯을 포함할 수 있으며, 모든 위젯은 부모-자식 관계를 가지게 된다. 이렇게 부모-자식 관계를 가지게 되면, 이를 Tree
계층 구조로 표현할 수 있으며, 관리할 수 있다.