[Flutter][공부] Class and Widget

uengmin·2024년 4월 16일

Flutter

목록 보기
1/20
post-thumbnail

Class

클래스란?

  • 객체가 가져야하는 속성과 기능을 정의한 내용을 담고 있는 설계도 역할

객체란?

  • 클래스가 정의된 후 메모리 상에 이를 할당되었을 때 이를 객체라고 함

인스턴스란?

  • 클래스를 기반으로 생성
  • 클래스의 속성과 기능을 똑같이 가지고 있고 프로그래밍 상에서 사용되는 대상

Widget

일반적인 의미

  1. 독립적으로 실행되는 작은 프로그램

  2. 주로 바탕화면 등에서 날씨나 뉴스, 생활 정보 등을 보여줌.

  3. 그래픽이나 데이터 요소를 처리하는 함수를 가지고 있음.

Flutter에서의 Widget?

  1. UI를 만들고 구성하는 모든 기본 단위 요소 ex) image, text, button 등등

  2. 눈에 보이지 않는 요소들까지 위젯 ex) center, column, padding
Flutter에서는 모든 것이 위젯이다.

State

  • State란 UI가 변경되도록 영향을 미치는 데이터이다.
  • App 수준과 Widget 수준의 데이터가 있다.

Types of Widgets

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

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

  • Inherited Widget



Stateless Widget

  • State가 변하지 않는 위젯
1. 스크린상에 존재만 할 뿐 아무것도 하지 않음

2. 어떠한 실시간 데이터도 저장하지 않음

3. 어떤 변화(모양, 상태)를 유발시키는 value값을 가지지 않음


Stateful Widget


1. 사용자의 interaction(상호작용)에 따라서 모양이 바뀜

2. 데이터를 받게 되었을 때 모양이 바뀜

앱에서 Check Box, Text Field와 같은 경우

Flutter Widget Tree


1. Widget들은 tree 구조로 정리될 수 있음.

2. 한 Widget 내에 얼마든지 다른 Widget들이 포함될 수 있음.

3. Widget은 부모 위젯과 자식 위젯으로 구성

4. Parent widget을 widget container라고 부르기도 함.



정리

1. Flutter의 모든 것은 Widget

2. 위젯이 전혀 변화가 없으면 Stateless Widget

3. 위젯의 모양이나 상태가 바뀐다면 Stateful Widget

4. 위젯은 트리 구조로 구성되어 있다.

0개의 댓글