TOPシステム開発> プログラムを作成する
はじめてのJava
はじめてのJava入門

第2回:何はなくともまずクラス

著者:サイオステクノロジー  片桐 一宗   2007/8/20
1   2  3  次のページ
プログラムを作成する

   「第1回:Javaを味わってみませんか?」では、Javaの特長とJavaプログラム開発の流れについて説明しました。今回から簡単なJavaプログラムを作成しながらオブジェクト指向について説明していきます。

何はなくともまずクラス

   前回はJavaプログラムは「オブジェクト」に対して操作することで処理を行う、と説明しました。オブジェクトを構成する上で欠かせないものは「クラス」です。クラスはオブジェクトの振る舞いを記述した設計書のことです。まずクラスの構造から解説していきます。

   通常、1つのJavaソースファイルに対して1つのクラスを定義します。Javaソースファイル内に複数のクラスを定義することもできます。クラスはフィールドとメソッドを有しています(図1)。

クラス構造
図1:クラス構造

   「フィールド」はクラス内にて共有で使用する変数を定義する場所です。ここには複数の変数を定義することができます。変数は「型 フィールド変数名」の形式で定義します。

   フィールドに定義できる変数はインスタンス変数とstatic変数の2種類になります。変数を宣言する箇所において、staticキーワードを付与することでstatic変数になり、付けない場合はインスタンス変数となります。この2つの変数の違いは後で説明します。

   「メソッド」はプログラムコードを記述する箇所です。Javaプログラムは同じクラスあるいは他のクラスのメソッドを呼び出すことができます。メソッドの宣言は「返り値の型 メソッド名 引数」の形式で定義し、定義できるメソッドはインスタンスメソッドと静的メソッドの2種類になります。

   メソッドを宣言する箇所において、staticキーワードを付与することで「staticメソッド」になります。もし付けない場合は「インスタンスメソッド」となります。メソッドの中でローカル変数を定義することもできますが、他メソッドから直接アクセスすることはできません。


アクセス制御の修飾子

   フィールドとメソッドの定義において、アクセス制御に関する修飾子を付与することができます(表1)。

キーワード 意味
public 他のクラスからアクセスできるフィールド/メソッド
protected サブクラスまたは同じパッケージのクラスのみアクセスできるフィールド/メソッド
なし 同じパッケージのクラスからアクセスできるフィールド/メソッド
private 同じクラスからのみアクセスできるフィールド/メソッド

表1:アクセス制御の修飾子と意味

   このアクセス制御によって、オブジェクト指向における基本概念の1つである「カプセル化」を実現できます(オブジェクト指向の基本概念は次回説明する予定です)。

   またクラスの定義においても、アクセス制御に関する修飾子を付与することができます。publicキーワードを指定した場合は他のクラスから参照することができ、指定しない場合は同じパッケージのクラスからのみ参照できます。

1   2  3  次のページ


株式会社システムインテグレータ 安治
著者プロフィール
サイオステクノロジー株式会社  片桐 一宗
ソフトハウスでC、C++、Javaでの開発経験を積み、テンアートニ(現サイオステクノロジー)入社。Webシステムの設計・開発・保守からプロジェクトリーダーまでこなした後、現在、品質管理チームの一員を担当。サイオステクノロジーのシステム構築サービス品質向上に向け、日々奮闘中。


INDEX
第2回:何はなくともまずクラス
プログラムを作成する
  staticとインスタンス
  インスタンスを生成してみよう