LoginScreen({Key? key}) : super(key: key);
보통 위와 같은 코드에서 쓴다.
두개의 : 이 있는데
첫번째 colon의
LoginScreen({Key? key}) :
명칭은 initializer list 불린다.
: 이후 따라오는 것이 constructor body가 실행되기전에 먼저 초기화 된다.
위 코드를 한국어로 번역을 하면...
LoginScreen는 null도 되는 Key를 받을것이다.
그러나 그전에 super(key: key)를 먼저 실행해라 이다.
여기서 두번째 colon의 뜻이 있다.
먼저 아래 예제를 보자.
class ParentClass {
final Key? key;
ParentClass({this.key});
}
class ChildClass extends ParentClass {
ChildClass({Key? key}) : super(key: key);
}
단순하게 부모 클래스에 key와 ChildClass 인풋 파라미터 key를 넘겨주는 것이다.