This document provides an overview of basic concepts in object-oriented programming including objects, classes, data abstraction, encapsulation, inheritance, polymorphism, binding, and message passing. Objects are run-time entities with state and behavior, while classes define the data and behavior for objects of a similar type. Encapsulation binds data and functions within a class, while inheritance allows new classes to acquire properties of existing classes. Polymorphism enables one function to perform different tasks. Binding determines how function calls are linked, and message passing allows objects to communicate by sending requests.