特徴

1.シンプル
 言語を小さく、なおかつ親しみやすくするために、Javaの設計者たちは、C、C++で使える機能を削除しました。削除された機能(ヘッダファイル、プリプロセッサ、ポインタ、構造体、共用体etc)は、めったに使わないようなものや、オブジェクト指向言語では簡単に実現できる機能です。

2.オブジェクト指向言語
 オブジェクトとは「物、物体」です。直訳すると「物に向かう言語」と言う風になりますが、オブジェクト指向言語は物の設計図を書いて、設計図から物を作り出すことができます。作り出した物を操作して、実行していくわけです。
 もう少し詳しく説明すると、 「オブジェクトはそのオブジェクトのクラスをインスタンス化することで作り出す」事になっています。青色の部分を分かりやすく言うと「オブジェクトはそのオブジェクトの設計図から実物を作ることで作り出す」となります。 つまり、「クラス=設計図」、「インスタンス=実物」です。ここで気をつけて欲しいのは、「設計図」と「実物」の違いです。 例えば、「車」というオブジェクトの設計図(クラス)があったとします。 ユーザはその設計図から様々な情報(色、大きさetc)を得ることが出来ます。 その設計図に書き込んだりすることも出来ます。 しかし、実際に運転するためにはその設計図をもとに実物(インスタンス)を作らなければなりません。なぜこんな複雑な事をやるのかというと、理由は2つあります。

1つは、設計図から同じ種類の実物をいくつでも作れるということです。



もう1つは、ある設計図を基に新たな設計図が作れるということです。(簡単にニューモデル車を作ることができます。)

オブジェクト指向では、特に後者のある設計図を基に新しいものを作ることを「クラスの継承」といいます。

ゆえに、Javaプログラマがすることは、
 @オブジェクトを設計する。
 Aそれをもとに作り出したもの(インスタンス)を操作する。

<クラスの継承のイメージ>
 クラスAはクラスBを継承しているとする。
 通常クラスAの中でCCやDDという機能を実行するとエラーがでてしまいます。しかし、クラスAがクラスBを継承していると、CCやDDという機能が使えます。継承のシステムは、過去のクラスの再利用、カスタマイズ、拡張をいとも簡単に行えるオブジェクト指向の核ともいえる凄い仕組みです。また、後で説明しますが、Javaアプレットを作成する場合には、Appletクラスを継承しなければなりません。


3.分散型
 Javaでは、Java.netパッケージによってさまざまなレベルのネットワーク接続をサポートしています。簡単にネットワークを使ったプログラムを記述し、ネットワークを通して離れた場所にあるコンピュータでもプログラムを実行できます。

4.インタプリタ
 Javaは、ソースコードをバイトコードに変換し、インタプリタで1行づつ解釈しながら実行していきます。



5.マルチスレッド
 Javaは、一度にたくさんの処理ができます。

6.セキュリティ
 Javaはポインタがないので、プログラマが舞台裏に手を入れて、メモリを操作することができません。さらに、コンピュータウィルスやファイルシステムを破壊する可能性のあるコードからユーザを保護する機能がいくつか実装されています。


戻る 
次へ