Object-Oriented design (OOD) is a programming methodology which has the following characteristics
Let's look at what the guru of Java Object Orientation, Bruce Eckel has to say,
"Object-oriented programming appeals at multiple levels. For managers it promises faster and cheaper development and maintenance. For analysts and designers the modeling process becomes simpler and produces a clear, manageable design. For programmers the elegance and clarity of the object model and the power of object-oriented tools and libraries makes programming a much more pleasant task, and programmers experience an increase in productivity. Everybody wins, it would seem.
If there is a downside it is the expense of the learning curve. Thinking in objects is a dramatic departure from thinking procedurally, and the process of designing objects is much more challenging than procedural design, especially if you are trying to create reusable objects."
Okay, so that was pretty abstract. Let's step back and come at OOD from another perspective. Perhaps some history is in order. Object-Oriented Design Resources