Exploring method overloading
Consider a scenario where you have an algorithm, implemented by a method, that operates similarly on various input types – for example, String
and int
. It would be a shame to have two separately contrived method names, one for each input type, such as doStuffForString(String)
and doStuffForInt(int)
. It would be much better if both methods had the same name – that is, doStuff
– differentiated by their input types, which are doStuff(String)
and doStuff(int)
. Thus, there will be no contrived method names. This is what method overloading provides. To discuss method overloading properly, we must first define the method signature.
Method signature
The method signature consists of the method’s name and the optional parameters. It does not consist of the return type. Let’s look at an example to explain this further:
Figure 7.7 – Method signature
In the preceding figure, the method signature...