26.1.7.3 オブジェクトとクラス

現実世界に存在する「部品」は,ラジオの例で見るとおり,単なる受動的なデータを保持するばかりでなく,多様な「操作」を受け入れて自分自身の状態を変化させてゆくことができます.このような「部品」を記述するためのプログラムの形態として,データの集まりと操作の集まりを一まとめにした単位を考える方法があります.この単位のことをオブジェクト(object),このような手法をオブジェクト指向プログラミングと呼びます.英語では Object Oriented Programming といいます.

オブジェクト指向の考え方は今までにも存在し,旧来の Pascal や C などでもその考え方に沿ったプログラムは可能です.しかしながらこれらのプログラム言語では,データの扱いと操作の扱いとが比較的独立に行なわれるので,データと操作を一まとめにして記述するのは不得意でした.そこで,オブジェクト指向プログラミング向けの言語が作られるようになってきました.古くからある Smalltalk という言語が有名ですが,その他に C を拡張した Objective-C や C++ がその流れの言語です.

Javaはオブジェクト指向の言語です.プログラムはオブジェクトを単位として構成されますし,ネットワークを介してやりとりされるのもオブジェクトです.また,Javaでは「部品のひな型」という考え方を使います.同じような部品を沢山作るための仕掛けです.これはクラスと呼ばれ,データ型を一般化したものとなっています.