Object-Oriented Programming (OOP) is a programming paradigm that organizes code as a collection of interactive objects. Each object represents an instance of a class and contains both data (attributes) and functions (methods) that operate on the data, allowing for modular, reusable, and interactive program design.