| Object-Oriented Programming Concepts: A Primer

## What Are Messages?

> A single object alone is generally not very useful and usually appears as a component of a larger program or application that contains many other objects. Through the interaction of these objects, programmers achieve higher order functionality and more complex behavior. Your bicycle hanging from a hook in the garage is just a bunch of titanium alloy and rubber; by itself the bicycle is incapable of any activity. The bicycle is useful only when when another object (you) interacts with it (starts pedaling).

> Software objects interact and communicate with each other by sending messages to each other. When object A wants object B to perform one of B's methods, object A sends a message to object B.

> Sometimes the receiving object needs more information so that it knows exactly what to do--for example, when you want to change gears on your bicycle, you have to indicate which gear you want. This information is passed along with the message as parameters.

> Three components comprise a message:

> 1. The object to whom the message is addressed (Your Bicycle)
> 2. The name of the method to perform (changeGears)
> 3. Any parameters needed by the method (lower gear)
> These three components are enough information for the receiving object to perform the desired method. No other information or context is required.

> #### The Benefits of Messages

> - An object's behavior is expressed through its methods, so (aside from direct variable access) message passing supports all possible interactions between objects.
> - Objects don't need to be in the same process or even on the same machine to send and receive messages back and forth to each other.

| Object-Oriented Programming Concepts: A Primer