このページをはてなブックマークに追加このページを含むはてなブックマーク このページをlivedoor クリップに追加このページを含むlivedoor クリップ

目次

クラス情報

  • 個々のインスタンスに依存しないクラス固有の情報のこと。
  • クラス情報の内容はプログラミング言語によってバリエーションは異なるが、どの言語でも基本的には共通である。その中で最も重要なものはメソッドに書かれたコード情報である。
    • 同じクラスから作られたインスタンスであっても、インスタンス編の値は各々で変わるが、メソッドに書かれたコード情報は変わらない。よって、コード情報はクラス固有の情報として1クラスに1つだけロードされる。

クラス情報をロードする方式の種類

  1. 事前にすべてのクラス情報を一括してロードする方式
    • 定義されているクラスをアプリケーションの開始時にすべてメモリにロードする。
    • コード情報を最初にすべてロードする方式は、従来からの多くのプログラミング言語で一般的に採用されている。
      • 例:C++
  2. 必要な時点でメモリに逐次ロードする方式
    • 新しいクラスを使うコードが実行される度に、ファイルから対応するクラス情報が読み込まれてメモリにロードされる。そしてそのタイミングでロード済みの他のクラス情報との関連付けが実行される。
    • 新しいクラスを読み込む度にオーバーヘッドがかかるため実行性能が悪くなるが、実際に動くコードの分だけメモリが使われるので全体のメモリ使用量を減らせる。
    • ネットワーク越しに分散して管理されたプログラムファイルを実行時に結合して動かすことが容易になるなど、実行時の大きな柔軟性が確保できる。

参考文献

  • 『オブジェクト指向でなぜつくるのか』