반응형
결론적으로 말하면 두 코드의 차이점은 명시적인 키 전달 여부입니다.
1️⃣ HomeScreen({super.key});
✅ 설명
- Dart의 super parameter shorthand(슈퍼 매개변수 단축 문법)를 사용한 형태입니다..
- super.key는 부모 클래스(StatefulWidget 또는 StatelessWidget)의 생성자로 자동 전달된다는 뜻입니다.
- 즉, super.key는 사실상 Key? key를 선언하고, super 생성자로 넘기는 것과 동일합니다.
🔹 내부적으로 변환되는 형태
HomeScreen({Key? key}) : super(key: key);
2️⃣ HomeScreen({Key? key}) : super(key: key);
✅ 설명
- 이 코드는 전통적인 방식으로 Key를 직접 선언한 뒤, super.key로 전달하는 방식이에요.
- key를 명시적으로 선언해서, 더 명확한 코드를 작성할 수 있어요.
- 그러나 Dart 3.0 이후부터는 super.key가 더 선호되는 방식이에요.
📌 정리
코드차이점
HomeScreen({super.key}); | 간결한 최신 문법 (super shorthand 사용) |
HomeScreen({Key? key}) : super(key: key); | 전통적인 방식, key를 직접 선언 후 전달 |
🛠 어떤 걸 써야 할까?
✅ Dart 3.0 이후에는 super.key가 더 간결하고 추천되는 방식이에요!
✅ 하지만, 이전 버전과 호환성을 고려해야 한다면 Key? key를 명시적으로 선언하는 것도 괜찮아요.
🚀 결론: 특별한 이유가 없다면 super.key를 사용하는 것이 더 깔끔하고 현대적인 코드 스타일이에요!
구독!! 공감과 댓글,
광고 클릭은 저에게 큰 힘이 됩니다.
Starting Google Play App Distribution! "Tester Share" for Recruiting 20 Testers for a Closed Test.
Tester Share [테스터쉐어] - Google Play 앱
Tester Share로 Google Play 앱 등록을 단순화하세요.
play.google.com
반응형
'Flutter > Study' 카테고리의 다른 글
플러터 초보자를 위한 Firebase Dynamic Links 사용법: go_router와 함께 딥 링크 구현하기 (1) | 2025.02.14 |
---|---|
위치 추적앱 안드로이드와 iOS, 한 코드로 통합할 수 있을까? (0) | 2025.02.12 |
iOS에서 백그라운드 위치 추적 구현하기 (1) | 2025.02.12 |
Flutter 실시간 경로 시각화: 조깅 앱에 Google Maps 적용하기 (0) | 2025.02.12 |
Flutter 백그라운드 위치 추적 앱 개발하기: WorkManager와 Riverpod로 구현하는 조깅 앱 (0) | 2025.02.12 |