You live in an object-based world. Stop and think about the objects you come in contact with pretty much every second of every day. Whether you're driving to work or school, sitting at a table eating dinner, sleeping in a bed, or even walking in a field — you're interacting with objects. You don't even think about most of the objects you come in contact with every day. Interaction with objects is natural to you.
Before the 1990s, programmers primarily used procedural programming languages. These languages were based on the steps a program takes to reach the desired goal — very much like the examples thus far in this book. It wasn't until the 1990s that mainstream developers began to shift their thinking to involve objects.
It's easiest to understand objects in a programming context by comparing them with real-world examples. Consider an automobile as an example. Automobiles come in a variety of colors, and are made by manufacturers that build them into different models. Some have vinyl interiors, while others have leather. Most automobiles come with an automatic transmission, and a small number of them have manual transmissions. ...