Encapsulation
You can take one of two views of an object:
- internal - the structure of its data, the algorithms used by its methods
- external - the interaction of the object with other objects in the program
From the external view, an object is an encapsulated entity, providing a set of specific services
These services define the interface to the object