Mengontrol Hak Akses Anggota Class (Access Modifiers)

Default Access Modifier- no modifier

Default access akan diberikan kepada variable dan method yang tidak dituliskan hak akses pada deklarasi. Variable dan method yang diberikan hak akses ini hanya bisa diakses oleh class itu sendiri atau class yang berada dalam  package yang sama. contohnya :

package binatang;

public class Unggas {
    int sayap;
    int mata;
    
    Unggas(){
        sayap=2;
        mata=2;
    }
    String Berlari(){
        String s = "Unggas Berlari";
        return s;
    }    
    String Bernafas(){
        String s = "Unggas Bernafas";
        return s;
    }
}

Kode berikut ini memanggil class Unggas dari package yang sama.

package binatang;

public class UnggasSamaPackage {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Unggas u = new Unggas();
        System.out.println("Mata unggas = "+u.mata);
        System.out.println(u.Berlari());
    }
}

Berikut ini class Unggas dari package yang berbeda.

import binatang.Unggas;

public class UnggasBedaPackage {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Unggas u = new Unggas();
        System.out.println("Mata unggas = "+u.mata);
        System.out.println(u.Berlari());
    }
}

Class UnggasBedaPackage akan mengalami error mulai dari proses Unggas u = new Unggas();. Jadi terbukti default access hanya bisa diakses oleh class itu sendiri atau oleh class yang berada pada package yang sama.

Private Access Modifier – private

Variable dan method yang diberikan akses private hanya bisa diakses oleh class itu sendiri, agar class lain bisa mengkases variable atau method tersebut maka perlu dibuat method yang mempunyai hak  akses public. Perhatikan contoh berikut ini:

package binatang;

public class Mamalia {
    private String nama;
    private int kaki;
    private int mata;
    public String getNama() {
        return nama;
    }
    public void setNama(String nama) {
        this.nama = nama;
    }
    public int getKaki() {
        return kaki;
    }
    public void setKaki(int kaki) {
        this.kaki = kaki;
    }
    public int getMata() {
        return mata;
    }
    public void setMata(int mata) {
        this.mata = mata;
    }
    
    //method private
    private String Berjalan(){
        String s = "Mamalia Berjalan";
        return s;
    }    
    //method public untuk memanggil method Berjalan();
    public String PanggilBerjalan(){
        return Berjalan();
    }

}

Class PanggilMamalia memanggil class Mamalia yang berada pada package binatang. Untuk mengakses variable dan method yang memiliki hak akses private digunakan method yang memiliki hak akses public. Perhatikan kode berikut ini:

import binatang.Mamalia;
public class PanggilMamalia {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Mamalia m = new Mamalia();
        m.setKaki(4);
        m.setMata(2);
        m.setNama("Singa");
        
        System.out.println("Mata ="+m.getMata());
        System.out.println("Kaki ="+m.getKaki());
        System.out.println("Nama ="+m.getNama());
        System.out.println(m.PanggilBerjalan());
    }
}

Demikian penjelasan singkat mengenai hak akses (access modifier). Silahkan eksplorasi lebih lanjut ke Penjelasan Class Interface Pada Java

1 Trackbacks & Pingbacks

  1. Penjelasan Mengenai Package Pada Java | Onestring Lab

Comments are closed.