[플러터] Stateless Widget 과 Stateful Widget 이란?

우발자·2025년 11월 2일
1
post-thumbnail

안드로이드를 네이티브로 3년동안 개발하면서 플러터에 존재는 강하게 느껴왔다.
그래서 일을 하면서도 플러터로 앱을 취미로 개발하기도 하였다.
근데 정작 개념을 알기보다는 무작정 앱을 만들려고 하다보니 개념쪽으로 더 알아가고 싶다고 느껴서 이번 기회에 플러터에 대해 하나씩 공부해볼려고 한다.


👁️ Widget이란?

플러터에서 Widget은 Jetpack Compose의 @Composable 함수에서 반환되는 UI 단위와 비슷한 개념이다. 플러터에 모든 ui는 Widget으로 이루어져 있다.


🤔 Stateless Widget이란?

Stateless Widget이란 상태를 가지지 않는 위젯이다.
데이터가 변하지 않고 사용자와의 인터렉션이 필요없는 경우 사용한다.

StatelessWidget을 상속받아서 build()라는 메서드를 오버라이드 해야된다.

build()에선 화면에 표시될 렌더링을 반환한다.


🥹 Stateful Widget이란?

Stateful Widget은 반대로 상태를 가지는 위젯이다.
사용자와 인터렉션을 통해 ui가 변경되기도 하며 또 데이터가 변할때도 ui가 변한다.

Stateful Widget을 사용할 때는 우선 StatefulWidget을 상속을 받는다.
그 다음 클래스는 State<T> 상속을 받는다.
첫번째 클래스가 상속받는 StatefulWidgetState<T> 객체를 생성하는 createState() 메서드를 오버라이드 해야된다.

두번째 클래스에서 상속받는 State<T>에서는 build()라는 메서드를 오버라이드 해야되는데 이때 두번째 클래스는 State<T>을 반환하기 때문에 createState()자리에 들어가서 2개의 클래스가 연결된다.

profile
어제보다 나은 개발자가 되자

0개의 댓글