its brackets. Each piece of information inside of a message’s brackets is called an argument. For example, a message sent to a Frog object could be: setPosition(3) Here, 3 is the argument. Sending this message would set a Frog object’s position to 3.
a message that could be sent to HoverFrog objects called setPositionAndHeight(). It would take two arguments that represent the position and height that we want to set the object’s position and height attributes to respectively. Assuming gribbit is an instance of HoverFrog, we might construct the following message-send: gribbit.setPositionAndHeight(5, 3)
argument (or multiple arguments) that message isn’t complete until the argument is provided. This makes sense when you think about it. A message like setPosition() isn’t complete until we provide it with a value to set a position to. (Note the use of camelCase for message names.)
the phrase “the message setPosition()”. Because setPosition() isn’t a message because it requires an argument and we haven’t provided it. We use the term message name to refer to the name of the message without its arguments. That is: • The “message” is the message name AND its required arguments. E.g. setPosition(10) • The “message name” is the message WITHOUT its required arguments. E.g. setPosition()
the message and the message name are the same thing. They are identical. For example, the message jump() doesn’t take any arguments – therefore the message is jump() and the message name is also jump().
learning about programming concepts, the gap between what is technically a message and what is technically a message name does tend to get blurred. It’s important to recognise the difference, but many programmers would happily use a phrase like “the message setPosition()”, even though technically this is a message name.