blog / java · April 7, 2017

Belajar Java Dasar (Visibilitas Private dan Public)

Dalam bahasa pemogram java mendukung 4 visibilitas yakni: private, public, protected, tanpa visibilitas. Saat ini akan dibahas tentang visibilitas private dan public, untuk visibilitas protected akan dibahas setelah artikel mengenai pewarisan dan untuk untuk tanpa visibilitas akan dibahas pada artikel mengenai package. Namun sebelum itu berikut keterangan dari ke empat visibilitas tersebut:

VisibilitasKeterangan
privateHanya dapat diakses oleh kelas itu sendiri
publicDapat diakses oleh seluruh kelas
protectedHanya dapat diakses oleh kelas itu sendiri, dan kelas turunannya
Tanpa VisibilitasHanya dapat diakses oleh kelas-kelas yang berada pada satu paket

Visibilitas private merupakan visibilitas yang dapat digunakan pada attribute, metode ataupun kelas. Gunanya visibilitas private adalah untuk menyembunyikan atribut, metode atau kelas. Attribut, metode atau kelas yang menggunakan visibilitas hanya dapat diakses oleh objek itu sendiri.

Contoh attribut yang menggunakan visibilitas private.’

class Manusia{ 
   private String nama; 
   String alamat; 

   void ubahData(String nama, String alamat){ 
      this.nama = nama; 
      this.alamat = alamat; 
   }
   void ubahNama(String nama){ 
      this.nama = nama; 
   }
}

Pada kode diatas, attribut nama menjadi private sehingga hanya kelas Manusia itu sendiri, yang bisa mengakses attribut nama, sehingga saat kelas lain mengakses attribut tersebut, maka akan terjadi error.

public class HelloWorld{
   public static void main (String []args){ 
      Manusia manusia = new Manusia(); 
      manusia.ubahData(“Kutu Gondrong”,”Dolok Sanggul”);
      System.out.println(manusia.nama); 
      System.out.println(manusia.alamat);
   }
}

Pada kode diatas, maka akan terjadi error ketika kelas HelloWorld mengakses atribut nama objek manusia, dikarenakan attribut tersebut bersifat private.

Visibilitas public merupakan visibilitas yang dapat diterapkan pada attribut, metod dan kelas. Dengan visibilitas public , maka atribut, metode dan kelas yang memiliki sifat public tersebut dapat diakses oleh kelas manapun dan dari package manapun.

Contoh, pada kode sebelumnya, kita akan menambahkan sebuah metode public yang bernama ambilNama() yang mengembalikan  nama mahasiswa.

class Manusia{ 
   private String nama;
   String alamat;
   
   public String ambilNama(){
      return nama;
   } 

   void ubahData(String nama, String alamat){
      this.nama = nama;
      this.alamat = alamat; 
   }
   void ubahNama(String nama){ 
      this.nama = nama; 
   }
}

Dengan demikian untuk mengakses attribut  nama, sekarang kita dapat menggunakan metode ambilNama().

public class HelloWorld{ 
   public static void main (String []args){
      Manusia manusia = new Manusia();
      manusia.ubahData(“Kutu Gondrong”,”Dolok Sanggul”);
      System.out.println(manusia.nama);
      System.out.println(manusia.alamat);
   }
}