Reflection in software development means that a program knows its own structure & can also modify it. Here we explain how it works in practical terms.