Object-oriented programming (OOP) is a paradigm that uses 'objects' to design applications, featuring data abstraction, encapsulation, and inheritance. A class serves as a blueprint for creating instances, which can represent entities with specific attributes. OOP facilitates code reuse and organization through inheritance, allowing new classes to inherit properties and behaviors from existing ones.