This document provides an introduction to object-oriented programming (OOP) concepts. It defines OOP as a design philosophy that groups everything as self-sustainable objects. The key OOP concepts discussed are objects, classes, encapsulation, abstraction, inheritance, polymorphism, method overloading, method overriding, and access modifiers. Objects are instances of classes that can perform related activities, while classes are blueprints that describe objects. Encapsulation hides implementation details within classes, and abstraction focuses on what objects are rather than how they are implemented.