Abstraction

The benefit of ignoring irrelevant details of software components and focusing on only those details required to interface, send messages, etc. Some of the concepts of abstraction include information hiding and black box routines. Since most real world objects include abstract details, objects allow an improved representation of real world objects as compared to functions.