Object Oriented Programming
In the object-oriented programming paradigm, we begin
to consider using classes in conjunction with one
another.
We should no longer think about classes, or objects, in
isolation from one another.
Instead of simply creating user defined data types, we
create a hierarchy of related and interdependent classes
and objects, following the natural structure of the
problem.
This is because object-oriented programming extends the
concept of data abstraction to apply across abstractions.