クラスはオブジェクト COBOL のクラス オブジェクトおよびそのインスタンス オブジェクトを記述する。その中には、クラス メソッドおよびインスタンス メソッド用の入れ子のプログラムが含まれる。
一般形式

構文規則
- PROTECTED および RESTRICTED は同義である。
- EXTERNAL 句を指定した場合、DATA 句および INHERITS 句は使用できない。
- ABSTRACT 句を指定した場合、FINAL 句は使用できない。
- INHERITS 句内で WITH DATA を指定した場合、DATA IS PRIVATE 句をクラス名-2 のソース コード内で明示的にまたは暗黙的に指定することはできない。
- クラス名-2 はクラス名-1 と同じにはできない。
- クラス名-2 はクラス名-1 を直接的にも間接的にも継承できない。
- END CLASS 見出し内のクラス名-1 は、先行するクラス名段落で指定されているクラス名-1 と同じにする必要がある。
一般規則
- クラス名-1 は、宣言対象のクラスを特定する。
- ABSTRACT 句は、クラス名-1 が抽象クラスであることを示す。抽象クラスのインスタンスを生成することはできない。
- EXTERNAL 指定は、クラス名-1 が外部クラスであることを示す。コードは生成されない。
- RESTRICTED 指定は、クラス名-1 から継承したデータに下位クラスが直接アクセスできるようにする。
- PRIVATE 指定は、クラス名-1 から継承したデータに下位クラスが直接アクセスできないようにする。
- INHERITS 指定は、クラス名-2 がクラス名-1 の親クラスであることを指定する。
- INHERITS を指定しない場合、クラス名-1 は分類スキーマ内で新しいルートを形成する。分類スキームには、ルートが 1 つ以上存在する可能性がある。
- WITH DATA 指定は、クラス名-2 から継承したデータにクラス名-1 が直接アクセスできることを指定する。