Method overloading is providing two separate methods in a class with the same name but different arguments, while the method return type may or may not be different, which allows us to reuse the same method name.
Method overriding means defining a method in a child class that is already defined in the parent class with the same method signature, same name, arguments, and return type (stesso return type o una sottoclasse, se è un oggetto in realtà)
class MultiplicationTest {
public void multiplication(int num1, int num2) {
System.out.println(num1 * num2);
}
public void multiplication(int num1, int num2, int num3) {
System.out.println(num1 * num2 * num3);
}
}
public class Main extends MultiplicationTest
{
public void multiplication(int num1, int num2) {
System.out.println(num1 * num2);
}
public static void main(String[] args) {
MultiplicationTest multiplicationTest = new MultiplicationTest();
multiplicationTest.multiplication(30, 2);
multiplicationTest.multiplication(14, 5, 25);
Main main = new Main();
main.multiplication(15, 5);
}
}