OOP is a computer programming model that organizes software design around data, or objects. An object is a data field with unique attributes and behavior. Encapsulation, abstraction, inheritance, and polymorphism are the four main principles of object oriented programming.