def sum(A a){
 // Code for A
 ...
}

def sum(B b){
 // Code for B
 ...
}

A v1 = new A()
sum(v1) // 単一ディスパッチ

def v2 = new B()
sum(v2) // 多重ディスパッチ