メソッド オーバーロードの解決

ここでは、「引数」という用語は、呼び出し側メソッドで指定されるパラメータのセットを意味します(たとえば、文 INVOKE self::"Method1"(obj01) の obj01)。「パラメータ」という用語は、(PROCEDURE DIVISION USING ヘッダ内の)各メソッド定義で指定される仮パラメータを意味します。

メソッド オーバーロードの解決は、次の 2 段階で行われます。


  1. 適用可能なすべてのメソッドを選択します。つまり、呼び出し側プログラムで指定されている引数がターゲット メソッドのパラメータと互換性がある、特定の名前のメソッドをすべて選択します。適用可能なメソッドが見つからない場合は、エラー(メソッドが見つからない)が生成されます。
  2. 適用可能なメソッドのセットの中から「最良」一致を選択します。このプロセスによって一意の最良一致が得られない場合は、エラー(一致があいまい)が生成されます。