flutter Statefulwigets 생명주기
오늘은 Flutter의 StatefulWidget 생명주기에 대해 자세히 알아보겠습니다. Flutter에서 위젯의 생명주기를 잘 이해하는 것은 매우 중요합니다.
1. StatefulWidget의 정의
StatefulWidget은 상태를 가질 수 있는 위젯으로, 사용자의 상호작용에 따라 UI가 변화하는 경우에 사용됩니다. 예를 들어, 버튼을 클릭하면 텍스트가 변경되거나 이미지가 바뀌는 경우가 이에 해당합니다.
StatefulWidget과 반대되는 StatelessWidget은 상태가 없으며, UI가 변하지 않는 경우에 사용됩니다. 이는 변하지 않는 텍스트나 단순한 레이아웃을 표시할 때 유용합니다. 하지만 상태변화가 있을경우에는 StatefulWidget을 사용해야하므로 잘 알아두어야합니다.
2. StatefulWidget의 생명주기
StatefulWidget의 생명주기는 생성에서부터 파기까지 여러 단계로 나뉘며, 각 단계에서 특정 메서드가 호출됩니다. 이 생명주기를 이해하는 것은 효율적인 상태 관리를 위해 필수적입니다.
3. 생명주기 메서드의 순서
3.1 createState()
StatefulWidget이 생성될 때 호출되는 메서드입니다. 이 메서드는 State 객체를 반환해야 하며, 이 객체는 위젯의 상태를 관리합니다.
3.2 initState()
위젯이 처음 생성될 때 상태를 초기화하는 데 사용됩니다. 이 메서드는 상태를 설정하는 데 적합한 장소입니다.
3.3 didChangeDependencies()
의존성 변화 시 호출되며, 상태를 업데이트할 수 있습니다. 예를 들어, 상위 위젯의 상태가 변화했을 때 호출됩니다.
3.4 didUpdateWidget()
위젯이 업데이트될 때 호출됩니다. 이는 새로운 상태를 적용할 준비가 되었음을 나타냅니다.
3.5 build()
UI를 그리는 메서드로, 가장 중요한 단계입니다. 이 메서드에서 반환하는 위젯이 화면에 표시됩니다.
3.6 setState()
상태가 변화할 때 UI를 다시 그려주는 메서드입니다. 이 메서드를 호출하면 build()가 자동으로 호출되어 UI가 업데이트됩니다.
3.7 deactivate()와 dispose()
위젯이 파기될 때 호출되는 메서드들입니다. deactivate()는 위젯이 비활성화될 때 호출되며, dispose()는 위젯이 완전히 파기될 때 호출됩니다. 이 메서드들은 자원을 정리하는 데 중요합니다.
4. StatefulWidget 생명주기 시나리오
실제 사용 사례를 통해 생명주기를 살펴보겠습니다. 예를 들어, 버튼 클릭 시 텍스트가 변경되는 UI를 생각해봅시다. 이 경우, 버튼 클릭 시 setState()를 호출하여 상태를 업데이트하고, UI를 재구성합니다.
Flutter 공식 문서에서는 StatefulWidget에 대한 자세한 내용을 확인할 수 있습니다. 공식 문서에서는 다양한 예제와 함께 생명주기 메서드를 설명하고 있습니다.
'Flutter' 카테고리의 다른 글
SharedPreferences 사용법 (0) | 2025.02.06 |
---|---|
폰트 적용 (0) | 2025.02.06 |
Flutter : Provider 와 Riverpod (0) | 2025.01.14 |
Clean Architecture (0) | 2025.01.13 |
Firebase 쉽게 연결하기 (1) | 2024.12.20 |