This document provides an overview of object oriented programming and Java. It discusses why object oriented programming is important and necessary. It also presents examples of real world objects that can be modeled as classes in object oriented programming. Key concepts like encapsulation, inheritance, polymorphism are explained. Examples are given to illustrate classes, objects, and inheritance. Interview questions related to object oriented programming concepts are also listed.