대괄호([ ]) 를 이용하여 optional parameter를 설정할 수 있습니다. optional parameter는 항상 parameter list의 마지막에 있어야하고, default 값을 설정하지 않으면 default 값은 null입니다.
중괄호({ }) 를 이용하여 이름이 있는 optional parameter를 설정할 수 있습니다.
만약 parameter의 type이 non-nullable이면 default 값을 주거나, required로 표시해야 합니다.
throw, catch exceptions를 이용할 수 있습니다.
try, on, catch keyword를 이용하여 예외처리를 합니다.
exception 인지 아닌지와 상관없이 코드를 실행할 때는 finally를 이용합니다.
Dart는 constructor에서 property에 값을 할당할 때 this 라는 shortcut을 제공합니다.
constructor를 구현할 때, constructor body가 실행되기 전에 setup이 필요할 수 있습니다. 이때, initializer list 에서 이 작업을 진행합니다.
여러 constructor를 가질수 있도록 named constructor 를 지원합니다.
Dart에서는 subtype 이나 null 을 return 할 수 있는 factory constructor 를 지원합니다.
factory constructor 를 생성하기 위해서 factory keyword를 이용합니다.
constructor의 목적이 같은 class내의 다른 constructor를 redirect 하는 것 뿐인 경우가 있습니다. redirecting constructor 의 body는 empty 이고, ':' 을 사용합니다.
만약 class가 절대 변하지 않는 object를 생산할 경우, const constructor 를 이용할 수 있습니다. 이때, 모든 instance 변수들은 final 이어야 합니다.