I have a friend who is interested in getting into programming and is asking about a lot of different concepts. Classes, interfaces and things like polymorphism / inheritence have been easy to explain, but I'm struggling a bit with analogies for reflection.
How would you explain what it is and how it works in practice?