Object Oriented Programming is a programming methodology which enables the developers to define the data type of data structure, functions and operations. OOPs gives the entire software system a view of various communities of objects which interact with each other via messages.
The various programming techniques that are used are:
Data Abstraction, Inheritance, Polymorphism, Encapsulation, Dynamic Binding, Classes and Objects etc.