Nearby lessons
39 of 125Java - Method Overloading
📌 What You Will Learn
- What class and object mean, with real-life examples
- The four pillars: Encapsulation, Abstraction, Inheritance, Polymorphism
- Constructors, this, super, static and final
- Method overloading and method overriding (with a comparison table)
- Abstract classes and interfaces (including the modern changes)
- Association, Aggregation and Composition
Method Overloading is a core concept of the Java language. This lesson explains Method Overloading vs Overriding with complete, runnable code examples, clear step-by-step explanations, and common mistakes to avoid with exam-style MCQs at the end.
Method Overloading vs Overriding
| Point | Overloading | Overriding |
|---|---|---|
| Relation | Within the same class | Parent class and child class |
| Method signature | Different parameters (count or types) | Same signature (name + parameters) |
| Return type | Can be anything | Must be same or a sub-type (covariant) |
| Keyword | No special keyword needed | Use @Override (optional but good) |
| Binding (when decided) | At compile time | At run time |
| Why used | One name, many behaviours with different inputs | Child gives its own version of parent method |
📝 Key Takeaways
- Class = blueprint; Object = real thing made from it (memory in heap).
- Four pillars: Encapsulation (hide data), Abstraction (show only essentials), Inheritance (reuse parent code), Polymorphism (one name, many forms).
- Overloading = same class, different parameters, decided at compile time. Overriding = child redefines parent method, decided at run time.
- Constructor initialises the object; name = class name, no return type.
- this = current object; super = parent class; static = belongs to class; final = cannot change.
- abstract class cannot be instantiated; interface is a contract a class implements.
- Association (weak), Aggregation (has-a, part independent), Composition (strong has-a, part dies with whole).
🧠 Test Your Knowledge
1 QuestionsProgress: 0 / 1