Abstraction: Abstraction is the process of simplifying complex systems by focusing on essential features while hiding unnecessary details. It allows programmers to work with high-level concepts without worrying about implementation specifics.
Encapsulation: Encapsulation refers to the bundling of data and methods within a class, where the data is hidden from external access. It ensures that an object's internal state remains consistent by controlling how it can be accessed or modified.
Inheritance: Inheritance is a mechanism in OOP that allows one class (child or derived class) to inherit properties and behaviors from another class (parent or base class). It promotes code reuse and hierarchical organization of classes.