Whenever you're ready, walk me through how you'd approach this.
What is polymorphism? Explain how the same operation can produce different behavior depending on an object's concrete type, and give a small code example. Distinguish runtime method overriding from compile-time method overloading. Scope: object-oriented programming concepts, using Java or Kotlin terminology.