Internal Implementation is Hidden
Messages define a standard interface to objects. Objects may have different internal implementations as long as the message interface is maintained. If access is controlled via messages, OOP facilitates information hiding: application programs do not know and cannot depend on the internal implementation of the object.
Example: Vector (send v x) or v.getX()
The two kinds of vectors appear the same to the outside world.