Hi! I think you're asking "why do we bother with object-oriented programming anyway?"
Objects let you bind data and behavior together in a way that permits the caller to not care at all what particular piece of code is being executed. As long as the object conforms to the API that the caller expects, the contents of the object and the way in which it does things are of no interest at all to the calling program.
This leads to programs that are much easier to write and test, and which are much less tightly bound together. Brad Cox, the inventor of Objective-C, called them "software ICs" and that's a good way to start thinking about objects. As long as the connections are what's expected and the outputs match, it doesn't matter which IC you use.
Objects give us a way to do this with software, making it a lot more reusable and dependable. |