Dynamic Method Dispatch

Runtime method resolution

4 min read

Dynamic Method Dispatch

JVM decides which overridden method to call based on actual object type.

Code Examples

Method resolved at runtime

java
1
2Shape s = new Circle();
3s.draw(); // Circle's draw()
4          

Use Cases

  • Polymorphic collections
  • Plugin architectures

Common Mistakes to Avoid

  • Expecting field polymorphism
  • Using static methods