METHOD DAN CONSTRUCTOR OVERLOADING PADA JAVA

 Method Overloading
Java mengijinkan lebih dari satu method dengan nama yang sama dalam satu class yang sama, inilah yang dikenal dengan Method Overloading. Yang wajib diperhatikan adalah walaupun diijinkan untuk menggunakan nama method yang sama tetapi, daftar parameter/argumen yang digunakan haruslah berbeda untuk masing-masing method. Tanpa kita sadari sebenarnya kita sering memanggil method overloading ketika membuat program java, salah satunya adalah System.out.println. Method ini adalah method overloading dimana sebenarnya terdiri dari banyak method dengan nama yang sama, tetapi daftar argumennya yang berbeda-beda.

Berikut ini daftar argumen/parameter pada method println, yaitu:
  • println(String);
  • println(char);
  • println(double);
  • println(int);
  • println(long);
  • println(float);
  • println(char[]);
  • println(boolean);
  • println(Object);
  • println();
Contoh Penggunaan Method Overloading:
public class Individu{
  private String nama;
  private String warnaKulit;
  private double tinggiBadan;
  private double beratBadan;

  public void setIdentitas(String nama){
    this.nama = nama;
  }
  public void setIdentitas(String nama, String warnaKulit){
    this.nama = nama;
    this.warnaKulit = warnaKulit;
  }
 public void setIdentitas(String nama, String warnaKulit, double tinggiBadan){
    this.nama = nama;
    this.warnaKulit = warnaKulit;
    this.tinggiBadan = tinggiBadan;
  }
  public void setIdentitas(String nama, String warnaKulit, double tinggiBadan, double beratBadan){
    this.nama = nama;
    this.warnaKulit = warnaKulit;
    this.tinggiBadan = tinggiBadan;
    this.beratBadan = beratBadan;
  }
 public void cetakIdentitas(){
    System.out.println("Nama         : "+nama);
    System.out.println("Warna Kulit  : "+warnaKulit);
    System.out.println("Tinggi Badan : "+tinggiBadan);
    System.out.println("Berat Badan  : "+beratBadan);
    System.out.println();
  }
 public static void main(String[] a){
    Individu asep = new Individu();
    asep.setIdentitas("Asep");
    asep.cetakIdentitas();

    Individu ujang = new Individu();
    ujang.setIdentitas("Ujang", "hitam");
    ujang.cetakIdentitas();
 Individu andri = new Individu();
    andri.setIdentitas("Andri", "putih", 157);
    andri.cetakIdentitas();

    Individu ayu = new Individu();
    ayu.setIdentitas("Ayu", "kuning langsat", 165, 53);
    ayu.cetakIdentitas();
  }
}

Constructor
Constructor adalah method yang namanya sama dengan nama Class. Dimana dia memiliki fungsi sebagai method yang akan melakukan inisialisasi nilai awal ketika Class diinstance (dibuatkan objeknya).
<modifier> namaClass(<parameter*>)

Contoh :
public class Contoh{
  public Contoh(){} //Constructor Default
  public Contoh(String temp){}
}

Aturan Penting Constructor
Berikut beberapa aturan yang harus diingat tentang Constructor, yaitu :
  • Jika kita tidak mendeklarasikan satupun konstruktor, maka secara otomatis java akan membuatkan satu konstruktor default (Konstruktor tanpa parameter).
  • Jika kita sudah membuat minimal satu buah konstruktor, maka java tidak akan menambahkan konstruktor default.
  • Kita dapat mendeklarasikan leih daru satu konstruktor  (overloading) untuk setiap class.
  • Salah satu konstruktor yang ada, pasti akan dieksekusi pada saat pertama kali instance dari suatu class (new).
  • Konstruktor mana yang dipanggil tergantung dari parameter yang dilewatkan.
Contoh Penggunaan Constructor Overloading:
public class Lagu{
  private String judul;
  private String penyanyi;

  public Lagu(){
    judul = "Belum ada judul";
    penyanyi = "Belum ada penyanyi";
  }
  public Lagu(String judul){
    this.judul = judul;
    penyanyi = "Belum ada penyanyi";
  }
 public Lagu(String judul, String penyanyi){
    this.judul = judul;
    this.penyanyi = penyanyi;
  }
  public void cetakLagu(){
    System.out.println("Judul    : "+ judul);
    System.out.println("Penyanyi : "+ penyanyi);
    System.out.println();
  }
 public static void main(String[] a){
    Lagu lagu1 = new Lagu();
    Lagu lagu2 = new Lagu("Cape Dech");
    Lagu lagu3 = new Lagu("Alamat Palsu", "Ayu Ting-Ting");
    lagu1.cetakLagu();
    lagu2.cetakLagu();
    lagu3.cetakLagu();
  }
}

Constructor Memanggil Constructor Menggunakan method this()
Sebuah constructor dapat dipanggil oleh constructor yang lain. Dalam hal ini, dapat digunakan pemanggil this()

Hal yang perlu diperhatikan ketika menggunakan this() :
  • Pemanggil constructor this(), harus ada pada statement pertama dalam constructor.
  • this() hanya digunakan dalam definisi constructor.
  • this() dapat diikuti oleh statement yang relevan.

Contoh:
public class Lagu{
  public Lagu(){
    this("Sik Asik", "Ayu Ting-Ting");
  }
  public Lagu(String judul, String penyanyi){
    System.out.println("Judul    : "+ judul);
    System.out.println("Penyanyi : "+ penyanyi);
  }

  public static void main(String[] a){
    Lagu lagu = new Lagu();
  }
}

Postingan terkait:

1 Tanggapan untuk "METHOD DAN CONSTRUCTOR OVERLOADING PADA JAVA"