Объектно-ориентированное программирование (ООП)
Java реализует основные принципы ООП:
• Инкапсуляция: Объединение данных и кода в единый компонент (класс) и сокрытие деталей реализации.
• Наследование: Процесс приобретения свойств одного класса другим (с использованием ключевого слова extends). В Java поддерживается только одиночное наследование классов, но множественное наследование интерфейсов. Все классы неявно наследуются от класса Object.
• Полиморфизм: Способность использовать один интерфейс для разных типов данных. Реализуется через перегрузку методов (Ad hoc) и переопределение методов (динамический полиморфизм).
• Абстракция: Сокрытие деталей реализации и показ только функциональности (через абстрактные классы и интерфейсы).

