モンキーパッチ
モンキーパッチは、オリジナルのソースコードを変更することなく、実行時に動的言語(例えばSmalltalk, JavaScript, Objective-C, Ruby, Perl, Python, Groovy, など)のコードを拡張したり、変更したりする方法である。 モンキーパッチ - Wikipedia リフレクションは「変数varに入れた文字列をメソッド名として使う」的なやつ
もっというと「文字列というデータ」を「メソッドという機能」に昇格させる的な
retval = func() このfuncはメソッド
var1='func' このfuncは文字列
普通は「var1に入っている文字列名のメソッドを呼び出す」なんてことはできない
これを行えるようにするのがリフレクション
モンキーパッチは既存のオブジェクトをwrapする