§3.1.(c) Kinds of method designators

A method designator may either be a method name

4
getIdentification -> getName;

or a complete method signature including parameter declarations and return type declaration, but excluding any modifiers and declared exceptions.

4
String getIdentification() -> String getName();
Effects:
  • Line 4 declares a callout binding for the role method getIdentification(), providing an implementation for the abstract method defined in line 3.
  • In combination with the role binding in line 2 this has the following effect:
  • Any call to Employee.getIdentification is forwarded to the method Person.getName.

Both sides of a callout binding must use the same kind of designators, i.e., designators with and without signature may not be mixed.
Each method designator must uniquely select one method. If a method designator contains a signature this signature must match exactly with the signature of an existing method, i.e., no implicit conversions are applied for this matching. If overloading is involved, signatures must be used to disambiguate.