METHOD-ID 段落は、メソッドの名前を指定し、選択された属性をそのメソッドに割り当てます。METHOD-ID 段落は必須であり、メソッド見出し部の最初の段落でなければなりません。
COBOL メソッドは、Java 言語の規則に基づいて、多重定義、オーバーライド、または隠蔽 になる可能性があります。
クラスに定義されるメソッド名は固有である必要はありません。(「クラスに定義される」メソッドには、クラス定義によって導入されるメソッドと、親クラスから継承されたメソッドとがあります。)
クラスに対して定義されるメソッド名には、 固有のシグニチャーが必要です。クラスに対して定義されている 2 つのメソッドの名前が同一で、 シグニチャーが異なる場合、これらの 2 つのメソッドは多重定義されている といいます。
メソッド戻り値のタイプがある場合、それはメソッド・シグニチャーには組み込まれません。
クラスが 2 つのメソッドを定義するときは、同一のシグニチャーと異なる戻り値タイプを使ったり、 または、同一のシグニチャーを使いながら、一方には戻り値を指定し、もう一方には戻り値を指定しないで、 定義してはなりません。
多重定義メソッド定義に関する規則、および多重定義メソッドの起動の解決は、 Java の対応規則に基づきます。
サブクラス内のインスタンス・メソッドは、2 つのメソッドのシグニチャーが同一である場合には、 親クラスから継承される、同じ名前のインスタンス・メソッドをオーバーライド します。
メソッドが、親クラスで定義されたインスタンス・メソッドをオーバーライドするとき、 メソッド戻り値 (手続き部 RETURNING データ名) の有無は、これらの 2 つのメソッドで 一貫していなければなりません。さらに、メソッド戻り値を指定するときには、オーバーライドされる側のメソッドおよびオーバーライドする側のメソッドの戻り値は、データ型が同一でなければなりません。
インスタンス・メソッドは、COBOL 親クラス内のファクトリー・メソッド、 または Java 親クラス内の静的メソッドをオーバーライドすることはできません。