What is method overloading, and how does the compiler choose which method to call?

Get ready for your Object‑Oriented Programming Test. Use flashcards and multiple-choice questions. Each question includes hints and explanations. Prepare for your exam today!

Multiple Choice

What is method overloading, and how does the compiler choose which method to call?

Explanation:
Method overloading means you can have multiple methods with the same name but different parameter lists. The compiler picks which one to call by looking at how many arguments you pass and what their types are, preferring an exact match and then considering implicit conversions (like int to long or int to double) if needed. The return type isn’t used to distinguish overloads, so two versions that differ only by what they return cannot be overloaded. For example, having void log(int x) and void log(double x) allows log(5) to call the int version and log(3.14) to call the double version. If no exact match or clear best match exists, or if multiple candidates are equally good, the call results in a compile-time error.

Method overloading means you can have multiple methods with the same name but different parameter lists. The compiler picks which one to call by looking at how many arguments you pass and what their types are, preferring an exact match and then considering implicit conversions (like int to long or int to double) if needed. The return type isn’t used to distinguish overloads, so two versions that differ only by what they return cannot be overloaded. For example, having void log(int x) and void log(double x) allows log(5) to call the int version and log(3.14) to call the double version. If no exact match or clear best match exists, or if multiple candidates are equally good, the call results in a compile-time error.

Subscribe

Get the latest from Examzify

You can unsubscribe at any time. Read our privacy policy