OOP treat data as a critical element in the program development and does not allow it to flow freely around the system. It ties data more closely to the functions that operate on it, and protects it from accidental modification from outside.functions. OOP allows decomposition of a problem into a number of entities called objects and then build data functions around these objects. The data of an object can be accessed only by the functions associated with that object. Functions of one object can access the functions of another objects