작성
·
35
0
result_screen.dart 페이지에 stl 까지 입력하여 자동완성된 코드에서부터 살짝 다르게 되어있었습니다.
강사님께서는 "const ResultScreen ({Key? key}) : super (key: key); 라고 되어있었으나, 제 쪽 화면에는 const ResultScreen ({super.key}) ; 까지만 자동완성이 되어있어서 수동으로 남은 값을 채워넣어주고 진행했습니다만, "const ResultScreen ({Key?" 에서 Key 부분이 색상이 다르게 활성되어있어서 약간 찝찝한 마음이 들어서 어떤 부분 때문에 자동완성이 달랐는지 여쭙고자 문의남깁니다.
답변 1
1
현재 두 코드 모두 동일한 동작을 하며
const ResultScreen ({super.key}); 형식이 기존 방식을 줄여서 쓰는 방법으로 최근 추가된 방법입니다.
영상처럼 수정하지 말고 그대로 진행하시면 되겠습니다.
예전 코드를 작성시 Android Studio 에서 노란불이 뜨면서 Alt + Enter 를 누르면 최근 코드로 자동으로 변경해 주는 것을 활용하시면 좋습니다.
const ResultScreen ({Key? key}) : super (key: key);
기존 코드는 super 클래스의 생성자를 호출하는 문법입니다. C#, 코틀린에서의 상속시 생성자 코드와 유사합니다.
Dart 에서는 이를 줄이는 문법을 제공하여 매개변수 위치에 직접 super 키워드를 사용해 슈퍼클래스의 생성자를 호출할 수 있도록 다음과 같이 사용이 가능합니다.
const ResultScreen ({super.key});
todo 리스트 앱 만드는 강의에서도 const ResultScreen ({Key? key}) : super (key: key); 가 등장하는데 최신화 된 슈퍼키 문법일 경우에 어떻게 작성하는지 글로라도 함께 다뤄주시면 많은 도움이 될 것 같습니다..
리뉴얼된 슈퍼키 문법으로는 어떻게 작성해야할지 몰라서 chatGPT 도움 받았네요....