1
JavaBeginner#keywords
Overloading: same method name, different parameter list, within the same class — resolved at compile time. Overriding: subclass redefines a parent method with the same signature — resolved at runtime (dynamic dispatch).
// Overloading
void add(int a, int b) {}
void add(double a, double b) {}
// Overriding
class Parent { void greet(){ System.out.println("Hi"); } }
class Child extends Parent { @Override void greet(){ System.out.println("Hey"); } }