Dalam class yang kita buat, kadangkala kita menginginkan untuk membuat method dengan
nama yang sama namun mempunyai fungsi yang berbeda menurut parameter yang
digunakan. Kemampuan ini dimungkinkan dalam pemrograman Java, dan dikenal sebagai
overloading method.
Overloading method mengijinkan sebuah method dengan nama yang sama namun memiliki
parameter yang berbeda sehingga mempunyai implementasi dan return value yang berbeda
pula. Daripada memberikan nama yang berbeda pada setiap pembuatan method,
overloading method dapat digunakan pada operasi yang sama namun berbeda dalam
implementasinya.
"Baca juga : Referensi This pada JAVA"
Untuk mendapatkan hasil yang sesuai, kita gunakan overloading method di dalam deklarasi class StudentRecord.
public void print( String temp ){
System.out.println("Name:" + name);
System.out.println("Address:" + address);
System.out.println("Age:" + age);
}
public void print(double eGrade, double mGrade, double sGrade)
System.out.println("Name:" + name);
System.out.println("Math Grade:" + mGrade);
System.out.println("English Grade:" + eGrade);
System.out.println("Science Grade:" + sGrade);
}
System.out.println("Name:" + name);
System.out.println("Address:" + address);
System.out.println("Age:" + age);
}
public void print(double eGrade, double mGrade, double sGrade)
System.out.println("Name:" + name);
System.out.println("Math Grade:" + mGrade);
System.out.println("English Grade:" + eGrade);
System.out.println("Science Grade:" + sGrade);
}
Jika kita panggil pada method utama (main) :
public static void main( String[] args )
{
StudentRecord rkRecord = new StudentRecord();
rkRecord.setName("Anna");
rkRecord.setAddress("Philippines");
rkRecord.setAge(15);
rkRecord.setMathGrade(80);
rkRecord.setEnglishGrade(95.5);
rkRecord.setScienceGrade(100);
//overloaded methods
rkRecord.print( rkRecord.getName() );
rkRecord.print( rkRecord.getEnglishGrade(),
rkRecord.getMathGrade(),
rkRecord.getScienceGrade());
}
{
StudentRecord rkRecord = new StudentRecord();
rkRecord.setName("Anna");
rkRecord.setAddress("Philippines");
rkRecord.setAge(15);
rkRecord.setMathGrade(80);
rkRecord.setEnglishGrade(95.5);
rkRecord.setScienceGrade(100);
//overloaded methods
rkRecord.print( rkRecord.getName() );
rkRecord.print( rkRecord.getEnglishGrade(),
rkRecord.getMathGrade(),
rkRecord.getScienceGrade());
}
Kita akan mendapatkan output pada panggilan pertama sebagai berikut :,
Name:Anna
Address:Philippines
Age:15
Address:Philippines
Age:15
Kemudian akan dihasilkan output sebagai berikut pada panggilan kedua :
Name:Anna
Math Grade:80.0
English Grade:95.5
Science Grade:100.0
Math Grade:80.0
English Grade:95.5
Science Grade:100.0
Jangan dilupakan bahwa overloaded method memiliki property sebagai berikut :
1. Nama yang sama.
2. Parameter yang berbeda .
3. Nilai kembalian (return) bisa sama ataupun berbeda.
"Baca juga : Constructor pada JAVA"
Demikian postingan tentang Overloading Pada JAVA Semoga Bermanfaat.
Terima Kasih telah berkunjung di Rumah-Koding. Salam