An object has methods that are the tasks of functions that the object performs when it receives a command to do so. When you are commanding an object to perform something, you are using a message to send the object notice of what to do. Each object has attributes that define them compared to others and they each product a different end product.