Java — строго статически типизированный язык.
Это значит, что тип каждой переменной (число, строка, объект) фиксируется при написании кода и проверяется компилятором до запуска программы.
Чем это хорошо:
· Безопасность — ошибки (например, сложить число со строкой) находятся сразу, а не в работающем приложении.
· Скорость — программа работает быстрее, так как типы уже известны.
· Читаемость — код понятнее, потому что тип переменной виден явно.
Главный результат: меньше неожиданных сбоёв в продакшене и проще поддерживать большой проект.