The model should represent the "essence" of the actual thing --
those qualities that we consider are necessary for the real thing
to have.
Example: a model car. What qualities of a real car make it
a car? How can a model car represent these qualities?
In systems analysis, we analyze the problem to be solved, define a
solution, then model the solution with a program.
Example:
Problem: keep track of people's names and ages.
Solution: store information about people in a list.
Program: models "information about people" and a "list".
In object-oriented programming, we model objects in the real world.
Example: In the previous example, objects could be "information
about a person" and a "list".
Note that objects do not have to be physical objects.
An object class is a kind of object.
Examples: rabbits, mammals, or animals.
An object instance is a particular object.
Example: Bugs Bunny.
When we define an object type in our program, we are defining a
class. When we define a variable or a create a particular object
in our program, we are creating an object instance (called
instantiation).