Cara Menggunakan Overloading Java dan Fungsinya
public class Test
{
public int getData()
/* getdata() 1 */
{return 0;}
public long getData()
/* getdata 2 */
{return 1;}
public static void main(String[] args)
{Test obj = new Test();
System.out.println(obj.getData());}
}
b) 0
c) Runtime error
d) Compilation error
Jawabannya adalah d. Compilation error.
Penjelasan: Untuk method overloading, method harus memiliki signature yang berbeda. Return tipe dari method tidak berkontribusi terhadap signature method yang berbeda, jadi kode program akan memberikan kompilasi error (compilation error). Kedua method getdata1 dan getdata2 hanya berbeda dalam tipe return dan tidak pada signature.
public class Test
{
public int getData(String temp) throws IOException
{return 0;}
public int getData(String temp) throws Exception
{return 1;}
public static void main(String[] args)
{Test obj = new Test();
System.out.println(obj.getData("MKN"));}
}
b) 1
c) Compilation error
d) Runtime error
Jawabannya adalah c. Compilation error
Penjelasan: method yang memberikan exception yang berbeda tidak overloading karena signature-nya masih sama.
public class Test
{
private String function()
{return ("MKN");}
public final static String function(int data)
{return ("MakanNasiPadang");}
public static void main(String[] args)
{Test obj = new Test();
System.out.println(obj.function());}
}
b) Runtime error
c) MKN
d) Tidak ada jawaban yang benar
Jawabannya adalah c. MKN
Penjelasan: Access modifier berasosiasi dengan method tidaklah menentukan kriteria untuk overloading. Method overloading dapat juga dideklarasikan sebagai final atau static tanpa memberi dampak kriteria overloading.
Contoh: Output program 4.
public class Test
{
private String function(String temp, int data)
{return ("MKN");}
private String function(int data, String temp)
{return ("MakanDanMakan");}
public static void main(String[] args)
{Test obj = new Test();
System.out.println(obj.function(4, "MKN"));}
}
b) BonsforBons
c) Compilation error
d) Runtime error
Jawabannya adalah b. BonsforBons
Penjelasan: Urutan argumen adalah parameter yang penting untuk mementukan overloading method. Karena urutan atribut berbeda, maka method overloading.
Contoh: Output program 5.
public class Test
{
private String function(String temp, int data, int sum)
{return ("MKN");}
private String function(String temp, int data)
{return ("MakanNasiKucing");}
public static void main(String[] args)
{Test obj = new Test();
System.out.println(obj.function("MKN", 0, 20));}
}
b) Compilation error
c) Runtime error
d) BonsforBons
Jawaban: a. MKN
Penjelasan: Angka yang berbeda dari argumen berkontribusi terhadap method overloading sebagai signature dari method yang berubah dengan angka berbeda dari atribut.
Apa yang dimaksud dengan method overloading pada bahasa pemrograman Java?
BalasHapusOverloading mengacu pada kemampuan untuk menggunakan satu pengenal atau identifier untuk menentukan beberapa method class yang berbeda dalam parameter masukkan dan keluarannya. Method overloading umumnya digunakan ketika secara konseptual digunakan untuk menjalankan tugas yang sama tetapi dengan sekumpulan parameter yang sedikit berbeda.
HapusBerapa banyak tipe dari overloading?
BalasHapus1. Object memiliki nama sama.
Hapus2. Perbedaan return tipe.
3. Perbedaan fungsi dengan banyak argumen.
4. Perbedaan tipe data.
Apakah penggunaan overloading berdampak buruk pada kinerja suatu program?
BalasHapusOverloading tidak memberikan dampak terhadap kinerja program pada Java, dimana hal tersebut bisa diselesaikan oleh kompilator pada waktu kompilasi program. Jika menggunakan C# 4.0, maka penggunaan overloading dapat menghemat beberapa pekerjaan yang menggunakan parameter opsional.
Hapus