You can define more than one method with the same name in a type–as long as the methods’ signatures are different. The signature of a method is represented by its name and the number and types of its parameters.

In the example below, we define three different methods in the Dog class, all named Bark. Each method has a different input parameter, so it’s okay to define all three methods in the same class.