自己変更コードは、「実行中に自身の命令を変更する」コードです。これは通常、アセンブリ言語やウイルス以外では行われません。
リフレクションは、関数、クラス、および変数を動的に参照するために、プログラムが独自の名前空間に動的にアクセスする機能です。この記事によると、リフレクションは単なるイントロスペクション (プログラムが自分自身を調べる能力) ではなく、とりなし (プログラムが自分自身を変更する能力) でもあります。
それで、リフレクションが命令内で変数/クラス/関数名のみが「変更」される穏やかな形式の自己変更コードを指すという違いはありますか? つまり、リフレクションは、自己変更コードのように命令全体の性質を変更する機能と比較して、より穏やかで「劇的な」変更の形式ではありません。
私はこの区別を正しく持っていますか?