Из вики про типизацию:"Static type-checking is the process of verifying the type safety of a program based on analysis of a program's text (source code). If a program passes a static type-checker, then the program is guaranteed to satisfy some set of type-safety properties for all possible inputs."
Про статическую типизацию в Dart из его спецификации:
Static type annotations are used in variable declarations (including formal
parameters, in the return types of functions and in the bounds of
type variables. Static type annotations are used during static checking (!) and
when running programs in checked mode.