정적 타입(Statically typed) 언어 정적 타입 언어는 컴파일 타임에 타입 검증이 일어난다. 프로그램 안에서 객체의 필드나 메서드를 사용할 때마다 컴파일러가 타입을 검증해준다. 기본적으로 자바, C, C++는 모든 변수의 타입을 프로그래머가 직접 명시해야 한다(언어의 버전이 올라가면서 타입 추론 기능을 지원하기도 한다). 하지만 정적 타입 언어 중에서도 코틀린, 하스칼, 오카멜(OCaml)과 같은 언어는 컴파일러가 문맥으로부터 변수 타입을 자동으로 유추하여 프로그래머가 타입 선언을 생략할 수 있다. 컴파일러가 문맥을 고려해 변수 타입을 결정하는 기능을 타입 추론(type inference)이라고 한다. var x = 1 위의 코드는 코틀린으로 작성되었다. 변수를 정의하면서 정수 값으로 초기화하..