강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

358792번째 도전님의 프로필 이미지
358792번째 도전

작성한 질문수

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

StatefulWidget 라이프 사이클 이론

CodeFactoryWidget이 StatefulWidget인 이유에 대해서

작성

·

15

0

안녕하세요?

초보자라서 질문을 어떻게 해야될지 모르겠어서 횡설수설인 점 미리 죄송합니다.

 

세번째 라이프사이클을 설명하실 때 사용하신 코드에 대해서 질문이 있습니다.

홈스크린 위젯을 StatefulWidget해서 클래스를 2개 만드는것은 변하는 화면을 보여주기 위해서 사용한것이겠죠?

 

그런데 CodeFactoryWidget은 버튼을 보여주는 위젯인데 왜 StatefulWidget을 상속받아 만드신 것일까요?

CodeFactoryWidget은 상태를 관리하지 않으므로 StatelessWidget을 상속받아도 되지 않을까요?

 

궁금해서 잠이 오지 않습니다.

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. 358792번째 도전님.

StatefulWidget과 StatelessWidget의 선택은 Flutter에서 가장 기본적이지만 중요한 내용입니다. 질문 주신 부분에 대해 설명해 드리겠습니다.

StatefulWidget은 주로 상태가 변하는 위젯을 만들 때 사용합니다. 반면, StatelessWidget은 상태가 변하지 않는 UI 요소를 위해 사용됩니다.

CodeFactoryWidget이 StatefulWidget을 사용하는 이유:
1. 상태 관리의 필요성: 만약 CodeFactoryWidget이 내부적으로 상태 변화를 요구하는 동작이나 UI 업데이트가 필요하다면, StatefulWidget을 사용하는 것이 맞습니다. 시간의 흐름에 따라 UI에 변화가 일어날 수 있는 경우 StatefulWidget이 필요합니다.

  1. 연습 및 구조화: 때로는 학습 목적으로 특정 패턴을 익히기 위해 StatefulWidget을 사용해보는 것이 추천되기도 합니다. 강의 중에 이와 같은 사례가 있을 수 있습니다.

하지만 실제로 상태 변화가 필요하지 않다면 StatelessWidget을 사용할 수 있습니다. StatelessWidget은 간단하고 성능 면에서 이점이 있습니다.

추가적으로, 위젯이 어떤 상태나 로직을 유지하고자 하는 경우가 아닌 단순한 UI 표현에 그칠 때 StatelessWidget이 적합한 선택입니다.

만약 해당 강의 예제에서 CodeFactoryWidget이 실제로 상태 변환을 요구하지 않는다면, StatelessWidget으로 변경해보아도 좋습니다. 이를 통해 두 종류의 위젯 사용 차이를 직접 체험해볼 수 있을 것입니다.

관련된 다른 질문과 답변들을 참고하시려면 setState 질문StatelessWidget과 StatefulWidget 비교 게시글을 확인해 보세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

358792번째 도전님의 프로필 이미지
358792번째 도전

작성한 질문수

질문하기