Perbedaan Akses public dan private Untuk Variabel Maupun Method Pada Java

Table of Contents
Teman-temanku sekalian, pada pemrograman berorientasi objek, akses terhadap suatu variabel instan di luar kelas biasanya tidak diperkenankan. Sebagai penggantinya, maka disediakan method yang diperlukan untuk mengakses variabel instan. Perlu diketahui bahwa variabel instan ini adalah variabel yang menampung state / property masing-masing instance class (object), biasanya dideklarasikan setelah nama class. 

Berkaitan dengan boleh tidaknya suatu variabel instan diakses dari luar kelas, Java menyediakan penentu akses. Dua di antara penentu akses tersebut adalah private dan public. Tidak asing bukan?

  • Public berarti bahwa pengaksesan suatu variabel instan atau method dapat dilakukan diluar kelas. 
  • Private berarti bahwa pengaksesan suatu variabel instan atau method hanya dapat dilakukan didalam kelas itu saja, tidak bisa diakses diluar kelas. 
Sekarang, kita mencoba untuk membuat programnya. Program berikut tidak menggunakan penentu Akses Privat maupun Public :

class Akses
{
    //Variabel instan
    String namaku ;
    String namamu ;
    // Method
    
    void isiDataNamaku(String nama)
    {
        this.namaku = nama ;
    }
    void isiDataNamamu(String nama)
    {
        this.namamu = nama ;
    }
    
    String ambilNamaku()
    {
        return this.namaku ;
    }
    String ambilNamamu()
    {
        return this.namamu;
    }
    
}

public class PenentuAkses {
    
    public static void main(String[] args) {
        
        Akses akses = new Akses();
        akses.isiDataNamaku("Namaku Namaku");
        akses.isiDataNamamu("Namamu Namamu");
        
        //Tampil Via Method
        System.out.println("Nama : " + akses.ambilNamaku());
        System.out.println("Nama : " + akses.ambilNamamu());
       
        // tAmpil via Variabel 
        System.out.println("");
        System.out.println("Nama : " + akses.namaku );
        System.out.println("Nama : " + akses.namamu );
        
    }
    
}


Kemudian sekarang, mencoba penggunaan private atau public sebagai penentu akses pada variabel instan nama. Caranya dengan menambahkan kata kunci private atau public didepan deklarasi nama. Seperti berikut ini : 

//akses public Variabel instan
    public String namaku ;
    public String namamu ;

atau :

 //akses private Variabel instan
    private String namaku ;
    private String namamu ;
Catatan :

Setelah menambahkan akses private pada variabel kemudian mengkopilasinya, maka teman-teman akan menjumpai pesan kesalahan berikut : 


Bagaimana dengan akses public? Sekilas terlihat bahwa variabel yang tidak diberikan akses penentu memiliki sifat yang sama dengan akses public. Karena memang hasilnya sama saja :

Penjelasan Perbedaan :

Perbedaan Akses public, private dan tanpa akses pada Variabel 
  • Tanpa Penentu Akses, Variabel dapat diakses oleh kelas yang berada dalam paket (package) yang sama 
  • public, Variabel dapat diakses oleh semua kelas yang menggunakan kelas yang berisi variabel tersebut
  • private, Variabel dapat diakses hanya oleh metode-metode dalam kelas itu sendiri
Perbedaan Akses public, private dan tanpa akses pada Metode
  • Tanpa Penentu Akses, Metode hanya dapat diakses oleh metode dalam kelas itu sendiri ataupun metode pada kelas lain yang terletak pada paket (package) yang sama. 
  • public, Metode dapat diakses oleh sembarang kelas 
  • private, Metode dapat diakses oleh metode-metode dalam kelas yang sama

Okey, Semoga penjelasannya bermanfaat..

Sumber : Buku Dasar Pemrograman Java2 oleh Abdul Kadir



Posted By 









Post a Comment