Object Oriented Programming Concepts document provides an overview of object oriented programming (OOP) concepts including: 1. OOP was introduced to overcome flaws in procedural programming like lack of reusability and maintainability. 2. In OOP, a problem is divided into objects and programs are written based on these objects. Communication between objects is done through functions. 3. Key OOP concepts discussed include objects, classes, polymorphism, overloading, overriding, abstraction, encapsulation, and inheritance. Objects are instances of classes and have data and functions. Inheritance allows a child class to inherit properties from a parent class.