2025-10-20
자꾸 헷갈려서 다시 정리했다.
Named Parameter { ... }
- 가독성 + 확장성을 위해 사용
- 기존의 위치기반 파라메터를 쓰면 순서를 외워야 해서 코드 유지보수가 불편해 진다
- Flutter에서는 위젯 속성이 많아지기 쉬워서 네임드 파라메터를 거의 표준처럼 사용한다
Required Parameter required
- Dart에서는 네임드 파라메터만 사용하면, 기본적으로 메개변수를 안 넣어도 함수를 호출 할 수 있다
- 즉, 네임드 파라미터는 기본적으로 optional로 작동한다
- 따라서
required를 사용해 필수 전달을 보장해 준다
위젯의 생성자로 들어가는 super.key
key는 Flutter가 위젯 트리를 효율적으로 업데이트하는 데 사용된다- 위젯을 const로 생성했을 때도
Key를 비교해서 이전 위젯을 재사용할지, 새로 만들지 판단한다 - 예를 들어 리스트 항목이 많을 때,
key가 없으면 성능이 떨어지거나 의도치 않은 rebuild가 발생할 수 있다 - 즉,
super.key는 성능 최적화와 위젯 트리 안정성을 위해 거의 모든 커스텀 위젯에 기본적으로 사용된다