StateFulWidget & StatelessWidget

2024. 9. 24. 16:55

 

 

 

Flutter는 상태를 관리하거나 동적인 UI를 구현하기 위해서 위젯을 사용합니다.

그 중에서 'StatelessWidget''StatefulWidget'은 UI를 구성하는 중요한 위젯입니다.

오늘은 'StatelessWidget''StatefulWidget'에 대해서 알아보겠습니다.

 

 

StatelessWidget

 정의 

StatelessWidget은 상태가 변경되지 않는 위젯입니다. 생성된 후에 내부의 상태가 변하지 않고 고정되어있어서, 정적인 UI를 표현하는데 사용합니다.

 

장점

1. 단순성 : 상태 관리가 필요 없으므로 구현이 간단하고 직관적입니다.
2. 성능 : 상태가 없기 때문에 성능이 더 우수하고, 불필요한 리빌드를 피할 수 있습니다.
3. 재사용성 : 정적 요소로 인해 다양한 곳에서 쉽게 재사용할 수 있습니다.

단점

정적이기 때문에 변화가 필요한 UI 에서는 적합하지 않습니다. 내부의 상태가 변하지 않기 때문에 복잡한 상태를 다루기에는 불편함이 존재합니다.

 

 

StatefulWidget

정의

StatefulWidget은 상태가 변할 수 있는 위젯입니다. 상호작용에 따라서 내부의 상태가 변할 수 있어서 동적인 UI를 구성하는데 적합합니다.

 

장점

1. 동적 UI 구성 : 사용자 입력에 따라 UI가 변할 수 있으므로, 복잡한 기능을 구현할 수 있습니다.
2. 상태 관리 : 위젯 내부에서 상태를 관리할 수 있어, 외부의 상태 관리와는 독립적으로 동작합니다.
3. 유연성 : 다양한 상황에 맞게 UI를 조정할 수 있는 유연성을 제공합니다.

 

단점

상태를 관리하는 코드가 있어야하므로 코드가 길고 구현이 복잡해집니다. 그리고 상태가 변경될때만다 리빌드가 발생해서 규모가 클 수록 성능에 영향을 끼칠 수 있습니다.

 

 

두 가지를 간단하게 정리하자면 'StatelessWidget'은 상태가 변하지 않아서 정적인 UI에 활용하고, 'StatefulWidget'은 사용자와 상호작용이 필요한 동적인 UI에 활용할 수 있다로 정리 할 수 있습니다. 이런 것이 항상 그렇듯 뭐가 더 좋다고 할 수는 없고 적재적소에 잘 활용할 수있게 특징을 잘 알고 있는 것이 중요하겠습니다.

'Flutter' 카테고리의 다른 글

파일에 저장하기  (0) 2024.11.06
파일 읽기  (0) 2024.11.05
예외 vs 오류  (0) 2024.11.04
무한 루프  (0) 2024.10.30
함수형 프로그래밍  (0) 2024.10.29

BELATED ARTICLES

more