リフレクション

  • できること:
    • クラスファイルの情報を読み込んで、
      • その中で定義されているクラスのインスタンスを生成したり、
      • そのクラス(インスタンス)内で定義されているメンバー名の一覧を文字列で取得したり、
      • その文字列のメソッドを呼び出したり、
    • といったことができる。
  • 長所:
    • コードを書いてる時点ではどんな他モジュールを呼び出すか分からない時とかに有効。
    • プラグインとかも、これで実現できる。
  • 欠点:
    • メタ情報に頼るのでプログラムの見通しを悪くする。