オブジェクト型


基本型,配列型に加えてオブジェクト型を持つことが,Java言語がオブジェ クト指向言語としての特徴になっている.オブジェクト型のことをクラス (class)と言う.

オブジェクト指向言語(Object Oriented Language)の歴史入門

Pascal も C も生まれていなかった 1960年代後半に,シミュレーションを記 述するための言語として Simula という言語が生まれた.これが,最初のオブ ジェクト指向言語と言われている.

1970年代から1980年代にかけて,Xeroxのパロアルト研究所(PARC)で,個人用 のパーソナルコンピュータをGUI(グラフィカル・ユーザ・インタフェース)で 操作するための研究が行われたが,その際に用いられた Smalltalk-80 におい て,現在のオブジェクト指向言語の持つ要素のほとんどが考案された.しかし, Smalltalk-80 自体は高い値段を設定したこと,マシンパワー(メモリ容量,速 度)が1980年代後半においても不十分だったため,それほど一般的にならなかっ た.

Smalltalk-80そのものは流行らなかったが,GUIプログラムの記述にオブジェ クト指向が向いているという認識は広まった.そのため,1970年の始めに作ら れ,1980年代にようやく一般的に使われるようになったC言語にオブジェクト 指向のための拡張を施そうという試みが1980年代半ばころから,いくつもおこ なわれた.Modula-C, Objective-C など,さまざまあったが,その中で生き残っ たのが C++ である.C++ は,実行効率を重視して,またC言語の上位互換の形 にしたために生き残ることができたが,反面で,

など問題も多い.

C言語以外にも既存の言語をオブジェクト指向にするための拡張を施す試みは いくつもある.Common Lispをベースにした CLOS(Common Lisp Object System) などは,有名である.

Java言語は,オブジェクト指向言語として見た時,Smalltalk-80の持つオブ ジェクト指向言語としての純粋さと,C++言語の持つ実行効率を重視した設計の ほぼ中間に位置する.


次へ進む
ktanaka@XXX.ecc.u-tokyo.ac.jp