You can define multiple functions with the same name if parameters differ. The compiler picks the right one based on arguments. Same name, different signatures. Example: int max(int a, int b) and double max(double a, double b).
Call max(5, 10) for int version, max(5.5, 10.2) for double. You don't need maxInt and maxDouble. Just write max and let the compiler sort it out. Return type doesn't count, only parameters.