This is the first bullet line which every one would write when asked about Object Oriented Programming(OOPs). In college, when any student answers this, we could hear a huge laugh from every corner of the room teasing that the student has memorized as in textbook.
However the fact is that, this is a simple and single line definition to OOPs. All other concepts and techniques just helps to match with real world objects. It is too hard to teach, or even talk about OOPs to the person who doesn’t realize this definition.
Well, consider a simple banking application. Except the building of the bank and papers; all others are intangible objects!!! Then how could they possibly be mapped with real world objects? So, it is important to understand that Real world object doesn’t mean some tangible objects. It is just how we assume and map it in our mind with some physical entity.
Once we are able to map it with some real world object, then we could easily write code to give life to that object; tell how to behave when alone and when teams with some other objects; how much information to share and how to share it; what to inherit from parents and what to give to children; and finally how to die.