Object-oriented programming Introduction (OOP)
The object-oriented programming paradigm is the most up-to-date concept among programming paradigms.The main motivation factor in inventing the object-oriented approach is the elimination of some of the defects encountered in the procedural approach. OOP treats data as a critical element in program development and does not let them flow freely through the system. It binds the data closer to the function that works on it and protects it from accidental modification by the external functions. OOP allows a problem to be broken down into a number of entities called objects, and then builds data and functions around them. The data is only accessible by the features associated with this object. However, the functions of an object may access the functions of another object.
Some of the features of OOP:
Emphasis is on data rather than procedure.
The programs are subdivided into objects.
Functions that operate on the data of an object are linked together in the data structure.
Data is hidden and inaccessible to outside functions.
Objects can communicate to one another by means of functions.
New data and functions can be added with ease when needed.
Follows bottom-up approach in program design.

Organization of data and function in object-oriented paradigm
Definition of OOP:
An object is a combination or collection of data and code designed to imitate a physical or abstract entity. Each object has its own identity to distinguish it from other objects, a set of properties, and behavior.
Object-oriented programming emphasizes inter-object relationships rather than implementation details. Hiding the implementation details of an object makes the user more concerned about the relationship of an object with the rest of the system than implementing the behavior of the object.