Язык, в котором тип каждой переменной, выражения или функции определен до компиляции или во время выполнения, и компилятор или среда выполнения принудительно проверяют соответствие типов при операциях. Это предотвращает ошибки, связанные с несоответствием типов, на более ранних этапах разработки.