Introduction
Methods let you add actions to your own types, like giving your data special abilities.
When you want to give a type a specific behavior, like making a shape calculate its area.
When you want to organize code so related actions are grouped with the data they work on.
When you want to change or use the data inside a type safely.
When you want to make your code easier to read by calling actions on objects.
When you want to reuse code by calling methods on different instances of a type.