Object-oriented programming organizes software design around data, or objects, rather than functions and logic. It uses four main pillars—encapsulation, abstraction, inheritance, and polymorphism—to create modular, reusable, and scalable code. Java is a quintessential example of an object-oriented programming language.