OBJECT 段落の DATA DIVISION 内の WORKING-STORAGE SECTION を使用して、COBOL クラスが必要とするインスタンス・データ (すなわち、クラスのそれぞれのインスタンスごとに割り振られるデータ) を記述します。
IDENTIFICATION DIVISION 宣言の直前に入れる必要がある OBJECT キーワードは、クラスのインスタンス・データおよび インスタンス・メソッドの定義の開始を示します。例えば、Account クラスのインスタンス・データの定義は、以下のようになります。
Identification division. Object. Data division. Working-storage section. 01 AccountNumber pic 9(6). 01 AccountBalance pic S9(9) value zero. . . . End Object.
インスタンス・データは、オブジェクト・インスタンスが作成されるときに割り振られ、Java ランタイムによるインスタンスのガーベッジ・コレクションが行われるまで 存在します。
上記に示すように、単純インスタンス・データの初期化は、VALUE 文節を使用して行うことができます。より複雑なインスタンス・データの初期化は、カスタマイズしたメソッドをコーディングし、クラスのインスタンスを作成して初期化して行うことができます。
COBOL インスタンス・データは、Java private 非静的メンバー・データと同等です。 他のクラスまたはサブクラス (同じクラス内のファクトリー・メソッドがあればそのメソッドも) は、COBOL インスタンス・データを直接参照することはできません。インスタンス・データは、OBJECT 段落で定義するすべてのインスタンス・メソッドに グローバルです。OBJECT 段落の外側からインスタンス・データにアクセス可能にしたい場合には、アクセスを可能にするために属性 (get または set) インスタンス・メソッドを定義します。
インスタンス・データ宣言のための WORKING-STORAGE SECTION の構文は、プログラムにおける場合と一般的に同じですが、次のような例外があります。
関連タスク
クラスのインスタンスの作成および初期化
クラスのインスタンスの解放
ファクトリー・メソッドの定義
属性 (get および set) メソッドのコーディング