OOP Praktis – Instance Method (Java)

This entry is part 3 of 5 in the series OOP Java

Pada artikel pertama tentang class & object menggunakan bahasa pemrograman Java, telah disampaikan bahwa dalam sebuah class kita dapat mendefinisikan fields, variabel yang nantinya akan dimiliki oleh object yang dibuat dari class tersebut. Fields dikenal juga dengan istilah instance variables.

Selain, instance variables, di dalam class kita juga dapat mendefinisikan instance methods. Jika instance variables berupa variabel maka instance methods sesuai namanya juga berupa method. Setiap instance method yang didefinisikan pada class, juga akan dimiliki oleh setiap object yang dibuat dari class tersebut.

Ilustrasi class yang memiliki kelengkapan berupa static field & method serta instance field & method

Class Method vs Instance Method

Pada artikel tentang method, telah dijabarkan cara membuat dan menggunakan method sederhana. Contoh-contoh yang ada pada artikel tersebut dibatasi pada method-method yang menggunakan static modifier. Modifier tersebut menegaskan bahwa method yang ada adalah milik class bersangkutan sehingga ia tidak perlu diakses menggunakan object dan cukup dengan class-nya saja. Konsekuensinya, method bersangkutan hanya memiliki akses pada static fields yang dimiliki class tersebut.

Berbeda dengan contoh pada artikel tersebut, instance method tidak menggunakan static modifier. Kepemilikan method tersebut ada pada object yang dibuat dari class bersangkutan, sehingga aksesnya juga harus menggunakan object tersebut. Ia juga memiliki akses tidak hanya terhadap static fields, namun juga fields milik object yang dibuat dari class tersebut.

Perhatikan contoh berikut

Contoh class dengan dua jenis method

/**
* Cth class untuk produk motor dari Yamaha
*/
public class Produk {
  static String pabrikan = "Yamaha";
  String model;
  String variant;
  // Constructor
  public Produk(String model,String variant) {
    this.model = model;
    this.variant = variant;
  }
  // Cth static method
  public static void printPabrikan() {
    System.out.println(pabrikan);
  }
  // Cth instance method
  public void printAll() {
    System.out.println(pabrikan+" "+this.model+" "+this.variant);
  }
}

Cara penggunaan kedua jenis method

public static void main(String[] args) {
    //instansiasi object
    Produk mio = new Produk("Mio Sporty","Standard");    
    // cara mengakses static/class method
    Produk.printPabrikan();
    // cara mengakses instance method        
    mio.printAll();
  }

Penjelasan

printPabrikan() merupakan static method, ia dapat diakses langsung melalui nama classnya yakni Produk. Method ini hanya memiliki akses terhadap static fields (pabrikan)

printAll() merupakan instance method, ia harus diakses melalui object yang dibuat dari class tersebut (mio). Method printAll() memiliki hak akses baik terhadap static fields (pabrikan) maupun instance fields (model dan variant)

Series Navigation<< OOP Praktis – Constructor (Java)OOP Praktis – Encapsulation (Java) >>

You may also like...

Berikan komentar