강의

멘토링

커뮤니티

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

김재훈님의 프로필 이미지
김재훈

작성한 질문수

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

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 강의 전체 한번 더 들으니까 이해 됐습니다. 좋은 강의 듣게 해주셔서 다시 한번 감사드립니다!

김재훈님의 프로필 이미지
김재훈

작성한 질문수

질문하기