OOP treats data as a critical element in the program development and does not allow it flow freely around the system. It ties data more closely to the functions that operate on it and protects it from unintentional modification by other functions.OOP allows the programmer to decompose a problem into a number of entities called objects and then build data and functions around these entities. The combination of data and methods make up an object.