
안드로이드를 네이티브로 3년동안 개발하면서 플러터에 존재는 강하게 느껴왔다.
그래서 일을 하면서도 플러터로 앱을 취미로 개발하기도 하였다.
근데 정작 개념을 알기보다는 무작정 앱을 만들려고 하다보니 개념쪽으로 더 알아가고 싶다고 느껴서 이번 기회에 플러터에 대해 하나씩 공부해볼려고 한다.
플러터에서 Widget은 Jetpack Compose의 @Composable 함수에서 반환되는 UI 단위와 비슷한 개념이다. 플러터에 모든 ui는 Widget으로 이루어져 있다.
Stateless Widget이란 상태를 가지지 않는 위젯이다.
데이터가 변하지 않고 사용자와의 인터렉션이 필요없는 경우 사용한다.
StatelessWidget을 상속받아서 build()라는 메서드를 오버라이드 해야된다.
build()에선 화면에 표시될 렌더링을 반환한다.
Stateful Widget은 반대로 상태를 가지는 위젯이다.
사용자와 인터렉션을 통해 ui가 변경되기도 하며 또 데이터가 변할때도 ui가 변한다.
Stateful Widget을 사용할 때는 우선 StatefulWidget을 상속을 받는다.
그 다음 클래스는 State<T> 상속을 받는다.
첫번째 클래스가 상속받는 StatefulWidget은 State<T> 객체를 생성하는 createState() 메서드를 오버라이드 해야된다.
두번째 클래스에서 상속받는 State<T>에서는 build()라는 메서드를 오버라이드 해야되는데 이때 두번째 클래스는 State<T>을 반환하기 때문에 createState()자리에 들어가서 2개의 클래스가 연결된다.