flutter_note001 플러터에서 위젯이란?

5yattree·2022년 12월 12일
2

Flutter 정리 노트

목록 보기
1/13
post-thumbnail

위젯이란?

Widget. Widget(위젯)이라는 용어는 영어로 소형 장치나 요소를 뜻한다.
프로그래밍에서 Widget(위젯)은 사용자가 상호 작용하는 인터페이스 요소로 사용한다.
일반적인 의미에서 Widget(위젯)은 독립적으로 실행되는 각각의 작은 프로그램을 말하며,
우리가 바탕화면 등에서 날씨나 뉴스, 생활정보 등을 사용할 때에도 이러한 Widget(위젯)의 형태를 이용한다.
또한 이러한 Widget(위젯)은 그래픽이나 데이터 요소를 처리하는 함수들을 가지고 있다.

플러터에서 위젯이란?

플러터에서 Widget(위젯)이란 UI를 만들고 구성하는 모든 요소들의 기본 단위로 이해할 수 있다.
앱을 만들기 위해서 사용하는 image, text, icon, textfield, button 등 이 모든 것들을 Widget(위젯)으로 정의할 수 있다. 또한 위의 image, text, icon, textfield, button과 같이 눈에 보이는 Widget(위젯) 이외에도 눈에 보이지 않는 요소들 또한 Widget(위젯)이며 대표적으로 레이아웃, 위치, 정렬을 위해 사용하는 center, column, padding 등이 있고 이 역시도 모두 Widget(위젯)이다.

즉, Flutter(플러터)에서 사용하는 모든 것이 Widget(위젯)이다.
화면 구성 요소 하나하나가 모두 다 Widget(위젯)이며, Widget(위젯)으로 시작해서 Widget(위젯)으로 끝난다. "Everything is a widget!"

Stateless widget과 Stateful widget.

In information technology and computer science, a system is described as stateful if it is designed to remember preceding events or user interactions; the remembered information is called the state of the system.

(정보 기술과 컴퓨터 과학에서 시스템은 이전의 사건이나 사용자 상호 작용을 기억하도록 설계된 경우 상태 저장으로 기술된다. https://en.wikipedia.org/wiki/State_(computer_science) )

State는 명사로 사용될 떄 상태라는 뜻을 가진다.

Stateless Widget(상태가 없는 정적인 위젯)

Stateless widget은 앱 화면상에 존재할 뿐 아무것도 하지 않는 위젯으로 이전의 사건이나 사용자의 상호 작용을 기억하지 않는다. State(상태)를 기억하지 않기 때문에 이 위젯은 어떠한 실시간 데이터도 저장하지 않으며 모양이나 상태를 변화시키거나 유발시키는 Value 값을 가지지 않아 상태가 없는 정적인 위젯으로 정의한다.

Stateful Widget(계속 움직임이나 변화가 있는 위젯)

반면에 Statefule widget은 사용자의 상호 작용(interaction)에 따라서 모양이나 상태가 변하거나 바뀌는 위젯을 말한다. 가령 Checkbox, RadioButton과 같은 위젯은 사용자의 탭이나 클릭을 통해 상호 작용하며 이러한 상호 작용에 따라서 모양이나 상태가 변하므로 Stateful widget으로 이해할 수 있다. 사용자와의 상호 작용에 따라서 계속 모양과 상태가 바뀌는 것이 Stateful widget의 특징이다. 또한 TextField 위젯의 경우 사용자가 무언가를 입력할 때마다 그 문자 정보를 표시해주는 과정에서 지속적으로 TextField 안의 내용이 바뀌게 되는데 이 역시도 Stateful widget의 특징이다. TextField 위젯은 입력되는 Value 값에 의한 상호 작용의 상태를 지속적으로 추적하고 기억하고 보존한다.

profile
오얏나무 한 그루

0개의 댓글