Basit anlamda aynı isimde birden fazla fonksion tanımlayabilmek. Yani insan nesnemiz var diyelim. Koş diye bir komut göndereceğiz kenan.kos() diyebiliriz. Peki ne kadar hızlı koşacağını nasıl belirleriz? kenan.kos(10) deyip 10 km hızla koşacak şekilde yapabiliriz. Başka bir örnek ne kadar uzaklığa koşmasını istiyoruz? kenan.kos(10, 'KM') diyebiliriz. Örnekleri çoğlatmak mümkün. Burda dikkat edilmesi gereken nokta metodun imzası aynı olamaz. Yani
class insan {
public void kos(){}
public void kos(int hiz) {}
public void kos(int mesafe) {} // hata
}
ikinci kos metodu hatalı tanımdır, çünkü; dönüş değeri void, aldığı parametre int olan başka metod var.