"Halo, Amigo! Saya akan memberi tahu Anda tentang kelebihan metode ."

"Kamu juga bisa membebani mereka ?! Hari yang luar biasa!"

"Kamu bisa melakukan banyak hal dengan mereka, tapi kita tidak akan membahasnya sekarang."

"Itu kesepakatan."

"Pembebanan berlebih adalah operasi yang sangat sederhana. Sebenarnya, ini bahkan bukan operasi pada metode, meskipun terkadang disebut dengan nama yang menakutkan: polimorfisme parametrik ."

Hal yang harus Anda ingat adalah bahwa setiap metode dalam suatu kelas harus memiliki nama yang unik.

"Ya aku tahu."

"Yah, itu tidak sepenuhnya benar. Maksudku, itu sama sekali tidak benar. Suatu metode tidak harus memiliki nama yang unik. Yang harus unik adalah kombinasi nama metode dan jenis parameternya . Kombinasi ini juga dikenal sebagai tanda tangan metode."

Kode Komentar
public void print();
public void print2();
Ini diperbolehkan. Kedua metode tersebut memiliki nama yang unik.
public void print();
public void print(int n);
Dan ini juga diperbolehkan. Kedua metode memiliki nama unik (tanda tangan).
public void print(int n, int n2);
public void print(int n);
Nama metode masih unik di sini.
public int print(int a);
public void print(int n);
Tapi ini tidak diperbolehkan. Metodenya tidak unik, meskipun berbagai jenis dilewatkan.
public int print(int a, long b);
public long print(long b, int a);
Tapi ini diperbolehkan. Parameter metode unik.

"Aku sudah pernah melihatnya di suatu tempat."

"Ya. Saat Anda mengetik " System.out.println ", IntelliJ IDEA menyarankan beberapa lusin versi metode cetak yang menggunakan parameter berbeda. Kompiler hanya mengidentifikasi dan kemudian memanggil metode yang diperlukan berdasarkan jenis parameter yang Anda berikan."

"Itu tidak terlalu sulit. Tapi itu bukan polimorfisme."

"Atau lebih tepatnya, ini bukan metode yang mengesampingkan."

Omong-omong, saya ingin menunjukkan bahwa nama parameter tidak relevan. Mereka hilang selama kompilasi. Setelah metode dipatuhi, hanya nama dan tipe parameternya yang diketahui.