Инкапсуляция: Сокрытие внутренней реализации объекта от внешнего мира, доступ к данным через публичные методы. Обеспечивает безопасность данных и облегчает изменение внутренней структуры без затрагивания внешнего кода.
Наследование: Механизм, позволяющий новому классу (потомку) наследовать свойства и методы существующего класса (родителя). Способствует повторному использованию кода и созданию иерархий объектов.
Полиморфизм: Возможность использования объектов разных классов с общим интерфейсом (например, через базовый класс или интерфейс). Позволяет писать более гибкий и extensible код. Различают статическое (перегрузка методов) и динамическое (переопределение методов) полиморфизм.
Абстракция: Выделение существенных характеристик объекта, отбрасывая несущественные детали. Создание упрощенной модели реального объекта для удобства работы. Реализуется через абстрактные классы и интерфейсы.