Dart는 정적 타입 체크와 런타임 타입 체크를 통해 변수의 값이 변수의 타입과 항상 일치하도록 보장한다. (이를 sound typing이라고도 함)

또한, 타입 추론을 통해 명시적으로 타입을 지정해야하는 번거로움도 줄였다.

Dart의 static analyzer를 통해 정적 타입 체크로 컴파일 타입에 버그를 찾을 수 있다.

Soundness

Soundness는 프로그램으로 하여금 유효하지 않은 특정 상태로 들어가지 않도록 보장하는 것이다.

Sound 타입 시스템은 표현식의 결과 값이 표현식의 정적 타입과 맞지 않는 상황이 발생할 수 없다. (String에는 String 값만 할당 가능)

Soundness는 아래의 두가지 체크의 조합이다.

Soundness의 이점

정적 타입 분석의 권고사항