Objects isolate data Object-oriented programming avoids this problem by combining data and the commands that manipulate them into a single entity called (surprise!) an object. With object-oriented programming in the hot dog vendor analogy, instead of passing your hot dog to half a dozen other people, the hot dog vendor comes directly to your seat and hands you your hot dog. Now if you saw fingerprints all over your hot dog, you’d know that the fingerprints could only have come from the hot dog vendor.

Besides keeping data isolated from other parts of your program, object-oriented programming also helps you divide a large program into smaller ones. Although structured programming divides a large program into the tasks that need to be performed, object-oriented programming divides a large program into real-life objects. So if you were designing a program to launch a rocket to the moon, object- oriented programming would let you divide the program into objects. One object might be the rocket, a second object might be the moon, and a third object might be the Earth.
You can also divide a large object into smaller ones. So the rocket object might be divided into an engine object and a guidance object. The engine object could be further divided into a fuel pump object, a nozzle object, and a fuel tank object.