인프런 커뮤니티 질문&답변
StatefulWidget cteateState 함수
작성
·
331
0
안녕하세요 강의 잘 듣고 있습니다!
main.dart에서 HomeScreen이 호출되었을 때 오버라이딩 된 createState 함수의 경우 명시적으로 지정하여 호출하지 않아도 실행되는 이유가 무엇인지 궁금합니다..
예를 들면
class B{
B( ) { };
void test( ) { print(1); }
}
Class A extends B{
A ( ) { };
void test( ) { print(2); }
}
void main( ){
A a = A( );
A.test( );
}
이런식으로 test( ) 함수를 지정하여 호출해야 실행되는 것이 아닌가요? 너무 헷갈립니다ㅜㅜ
답변 1
0
코드팩토리
지식공유자
안녕하세요.
만약에 아무 베이스 없이 다트언어만으로 저희가 무언가를 만들고 있었다면 createState를 불러주는 어떤 함수를 저희가 작성해야할것입니다.
하지만 저희는 플러터 프레임워크를 사용하고있고 프레임워크에서 제공해주는 StatefulWidget과 State 클래스를 상속받아서 사용하고있습니다.
그 뜻은 해당 클래스들을 그리고 플러터 프레임워크를 작업해둔 사람들이 어딘가에서 createState() 함수가 불리도록 코드를 작성해두었다는 것입니다.
라이프 사이클이 실행되는 구간은 위젯 라이프사이클 강의를 보시면 됩니다!
만약 위에 설명드린 상속관련 내용이 이해가 안되신다면 제 객체지향 프로그래밍 강의를 다시한번 공부해주세요!
감사합니다.






아 네 이해했습니다. 답글 본 후 StatefulWidget 강의 전체 한번 더 들으니까 이해 됐습니다. 좋은 강의 듣게 해주셔서 다시 한번 감사드립니다!