Metode Java Overloading (Dengan Contoh)

Pada artikel ini, Anda akan belajar tentang metode overloading dan bagaimana Anda dapat mencapainya di Java dengan bantuan contoh.

Di Java, dua atau lebih metode mungkin memiliki nama yang sama jika berbeda dalam parameter (jumlah parameter berbeda, jenis parameter berbeda, atau keduanya). Metode ini disebut metode kelebihan beban dan fitur ini disebut metode kelebihan beban. Sebagai contoh:

 void func () (…) void func (int a) (…) float func (double a) (…) float func (int a, float b) (…)

Di sini, func()metode kelebihan beban. Metode ini memiliki nama yang sama tetapi menerima argumen yang berbeda.

Catatan : Jenis kembalian dari metode di atas tidak sama. Itu karena metode overloading tidak terkait dengan tipe kembalian. Metode yang kelebihan beban mungkin memiliki tipe kembalian yang sama atau berbeda, tetapi harus berbeda dalam parameter.

Mengapa metode overloading?

Misalkan, Anda harus melakukan penambahan bilangan tertentu tetapi bisa ada sejumlah argumen (katakanlah 2 atau 3 argumen untuk kesederhanaan).

Untuk menyelesaikan tugas, Anda dapat membuat dua metode sum2num(int, int)dan sum3num(int, int, int)masing-masing untuk dua dan tiga parameter. Namun, pemrogram lain, serta Anda di masa mendatang mungkin akan bingung karena perilaku kedua metode tersebut sama tetapi berbeda menurut namanya.

Cara yang lebih baik untuk menyelesaikan tugas ini adalah dengan membebani metode. Dan, bergantung pada argumen yang diteruskan, salah satu metode yang kelebihan beban dipanggil. Ini membantu meningkatkan keterbacaan program.

Bagaimana cara melakukan overloading metode di Java?

Berikut adalah beberapa cara untuk melakukan overloading metode:

1. Overloading dengan mengubah jumlah argumen

 class MethodOverloading ( private static void display(int a)( System.out.println("Arguments: " + a); ) private static void display(int a, int b)( System.out.println("Arguments: " + a + " and " + b); ) public static void main(String() args) ( display(1); display(1, 4); ) )

Keluaran :

 Argumen: 1 Argumen: 1 dan 4

2. Dengan mengubah tipe data parameter

 class MethodOverloading ( // this method accepts int private static void display(int a)( System.out.println("Got Integer data."); ) // this method accepts String object private static void display(String a)( System.out.println("Got String object."); ) public static void main(String() args) ( display(1); display("Hello"); ) ) 

Keluaran :

Punya data Integer. Punya objek String.

Di sini, kedua metode yang kelebihan beban menerima satu argumen. Namun, yang satu menerima argumen tipe intsedangkan yang lain menerima Stringobjek.

Mari kita lihat contoh dunia nyata:

 class HelperService ( private String formatNumber(int value) ( return String.format("%d", value); ) private String formatNumber(double value) ( return String.format("%.3f", value); ) private String formatNumber(String value) ( return String.format("%.2f", Double.parseDouble(value)); ) public static void main(String() args) ( HelperService hs = new HelperService(); System.out.println(hs.formatNumber(500)); System.out.println(hs.formatNumber(89.9934)); System.out.println(hs.formatNumber("550")); ) )

Saat Anda menjalankan program, hasilnya adalah:

 500 89,993 550,00

Catatan : Di Java, Anda juga bisa membebani konstruktor dengan cara yang mirip seperti metode.

Bacaan yang Direkomendasikan: Java Constructor Overloading

Poin Penting

  • Dua atau lebih metode dapat memiliki nama yang sama di dalam kelas yang sama jika mereka menerima argumen yang berbeda. Fitur ini dikenal sebagai metode overloading.
  • Metode overloading dicapai dengan:
    • mengubah jumlah argumen.
    • atau mengubah tipe data argumen.
  • Ini bukan metode overloading jika kita hanya mengubah jenis metode yang dikembalikan. Harus ada perbedaan jumlah parameter.

Artikel yang menarik...