title: How would you explain reflection to a non-programmer?
body: <p>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.</p>
  
  <p>How would you explain what it is and how it works in practice?</p>