Короткий ответ ООП — объектно-ориентированное программирование: методология, в которой программа строится как совокупность взаимодействующих объектов. Каждый объект — экземпляр класса — объединяет состояние (поля) и поведение (методы). В Java выделяют четыре принципа: инкапсуляцию, наследование, полиморфизм и абстракцию. Как это работает подробнее Принципы связаны между собой: инкапсуляция прячет данные, наследование выстраивает иерархии, полиморфизм позволяет единому коду работать с разными типами, абстракция отделяет «что делать» от «как». Инкапсуляция. Сокрытие внутреннего устройства объекта: поля делают private, а доступ к ним дают через публичные геттеры и сеттеры. Это защищает данные от некорректного изменения. Наследование. Новый класс создаётся на основе существующего через extends: наследник получает поля и методы родителя и может расширять или переопределять их. Например, Cat наследуется от Animal. Полиморфизм. Одноимённые методы ведут себя по-разному: вызов animal.voice() для Dog даст «Гав», а для