クラス、メソッド、インスタンスについて

昨日わからなかったことについて調べてみました。
これはオブジェクト指向と呼ばれるプログラミング言語では共通の概念のようです。
まずこれをイメージすることが大切だと思いました。

私の今のところの理解では、クラスは物体の名称、或いは概念図のようなものであり、メソッドはその物体が持っている機能。
インスタンスはクラスから生成される実体という理解です。

例) 車

  • 「車」というクラス(設計図、概念)があり、「前進」、「速度を上げる」、「ワイパーを動かす」などの機能(メソッド)が備わっている。
  • インスタンスは「実体」。「車」という概念から実際の車体を生成する。
  • ワイパーを動かす(メソッドを呼び出す)ためには設計図(クラス)だけあっても仕方がないので、ワイパーレバー(インスタンス)を生成する必要がある。


インスタンスについては、今までのシステム構築にあたっても必要な概念だったので、イメージはしやすいものでした。
同一Webサーバ内で別ディレクトApacheをインストールし、一方を80番ポート用のインスタンス、一方を81番ポート用のインスタンスとして実行するというようなことはよくあります。

Apacheを例にすると、こんな感じでしょうか。

  • クラス
    • httpdという概念、設計図
  • メソッド
    • Webサーバとしての機能

同じ設計図から複数のインスタンスを生成し、同じ機能を実現することができる、というのはオブジェクト指向プログラミングの利便性の一つだと思いました。


しかし・・まだまともにコーディングできていない。。。
Hello World的なものはやりましたが、よくわからないまま出力するだけの状態です。
早くこの状況を脱出したいところ。。。