これまでの連載を通して、Ruby on Rails(以下、Rails)の生産性の高さをご紹介してきましたが、この生産性を実現している要因の1つにRubyの強力なリフレクション機能があります。 リフレクションとは、プログラムがプログラム自身にアクセスする機能のことです。この機能を使えば実行時にオブジェクトのメソッドの一覧を取得したり、メソッドを追加したりすることができます。 Javaもリフレクション機能を持っていますが、基本的にクラスを書き換えることはできません。クラスを書き換えることができるのはスクリプト言語であるRubyの強みといえるでしょう。 Railsでは、このリフレクションを用いてRails本体やRubyの組み込みクラスにアクセスして、機能の追加や変更を行うためのRailsプラグイン機構があります。