In computer science, reflective programming is a programming paradigm that encourages programming driven by the use of reflection at runtime.