작성
·
402
·
수정됨
0
051.비만도계산기프로젝트 강의영상 2:58에서요
class MainScreen extends StatefulWidget { const MainScreen({Key? key}) : super(key: key); @override State<MainScreen> createState() => _MainScreenState(); } class _MainScreenState extends State<MainScreen> { @override Widget build(BuildContext context) { return Container(); } }
이렇게 입력을 한 이유가 뭔가요? MainScreen 하고 Container이요
답변 2
1
상태가 있는 화면을 만드는 기본 코드입니다.
별다른 이유가 있다기 보다는 구글에서 이렇게 쓰면 된다고 정해둔 코드로서 이런 의미없는 코드를 상용구라고도 부릅니다.
그래서 '상태가 있는 화면을 만드는 상용구 코드'입니다.
Container() 는 빈 공간이고요. 기본적으로 뭐라도 있어야 하기 때문입니다. 요즘 버전에서는 PlaceHolder() 가 자동으로 생길겁니다. 이건 빈공간인데 X 표시까지 보여주는 의미없는 위젯중 하나입니다.
MainScreen은 클래스의 이름을 정해 준 것입니다.
상용구 코드를 쓸 때는 코드의 작은부분 하나하나를 이해하면서 쓸 필요가 없습니다. 그냥 이 코드 덩어리가 무엇을 하는 거다 정도로 넘어가도 무방합니다.
final 이 실행중에 결정되는 상수라면, const 키워드의 역할은 컴파일타임 상수를 정의하는 키워드입니다.
변수가 없는 Widget 은 생성자에 const 키워드를 두면 상수화 하여 성능을 좋게 할 수 있습니다. 한번 메모리에 생성된 것을 재활용하기 때문입니다.
책의 맨 뒤쪽 index 에 보시면 찾는 키워드를 검색할 수 있는데요. 책에서는 자세한 설명 없이 padding 코드에 들어간다 정도의 느낌으로 지나갑니다.
2:40에서 const는 왜 붙이나요?
책에 있다면 몇페이지인지알려주세요