プログラミング言語が実行時に自身の構造を検査・変更できる機能を持つ言語。メタプログラミングを実現します。
「リフレクション言語」を星図で探索する →
「リフレクション言語」とは?意味を解説
リフレクション言語とは、プログラム実行中に自身のコード構造、クラス、メソッド、変数などの情報を動的に検査・操作できるプログラミング言語です。型情報の取得、メソッドの動的呼び出し、オブジェクト属性の変更など、コード自体を対象としたプログラミングが可能になります。Javaなどが代表的です。
例文
- JavaのクラスオブジェクトからメソッドList取得できるのがリフレクション言語の特徴。
- Pythonではdir関数でオブジェクト属性を動的に検査するリフレクション言語機能がある。
- リフレクション言語により、フレームワークは実行時にクラス構造を認識して自動化できます。
語源・由来
「Reflection」は英語で「反射・内省」を意味し、プログラムが自身を映し出すように内部構造を検査する比喩から。1990年代のJava開発で確立された概念です。
英語で言うと
Reflective programming languageReflection-based languageMeta-programming language
「リフレクション言語」との違いを比較する
似た言葉との違い・使い分けを解説しています。
「リフレクション言語」をもっと知る本
この言葉やそのテーマを深めたい方へ。
語彙の星雲で「リフレクション言語」を探索する →