Pengubah Akses di Java Dijelaskan

Apa itu Pengubah Akses?

Pernahkah Anda ingin menjelaskan bagaimana orang akan mengakses beberapa properti Anda? Anda tidak ingin orang lain menggunakan pakaian dalam Anda. Namun, teman dekat dan kerabat Anda dapat menggunakan sweter Anda dan mungkin juga mobil Anda.

Sama halnya dengan cara Anda menyetel tingkat akses ke posisi Anda, Java juga mengontrol akses. Anda ingin menentukan tingkat akses untuk variabel, metode, dan kelas bergantung pada kelas lain yang Anda inginkan untuk mengaksesnya.

Java menyediakan 4 level pengubah akses. Ini berarti Anda dapat mengubah akses ke variabel, metode, atau kelas dengan 4 cara. 4 cara ini bersifat pribadi, publik, dilindungi, dan default.

Pengubah akses ini dapat diterapkan ke bidang, metode, dan kelas (Kelas adalah kasus khusus, kita akan melihatnya di akhir artikel ini). Berikut ini ikhtisar1 singkat tentang apa Access Levelsitu untuk masing-masing Access Modifier:

Referensi Tabel Pengubah Akses:

Tabel Pengubah Akses

Pengubah Akses Pribadi

Mengizinkan variabel atau metode untuk hanya diakses di kelas tempat variabel atau metode itu dibuat. Tidak ada kelas lain di luar kelas yang membuat variabel atau metode dapat mengaksesnya. Ini sangat mirip dengan organ internal Anda. Mereka hanya dapat diakses oleh pemiliknya. Untuk membuat variabel atau metode menjadi pribadi, Anda cukup menambahkan kata kunci pribadi sebelum variabel atau jenis metode. Mari kita gunakan private dalam contoh pengkodean. Jika bank ingin memberikan tingkat bunga 10% untuk pinjamannya, itu akan memastikan bahwa variabel tingkat bunga (mari kita anggap int int_rate;) akan tetap pribadi sehingga tidak ada kelas lain yang akan mencoba mengaksesnya dan mengubahnya. Sebagai contoh;

private String name;

Contoh di atas membuat variabel yang disebut name dan memastikan bahwa itu hanya dapat diakses di dalam kelas tempat variabel itu dibuat.

Contoh lain untuk metode adalah

private void setAge(){ System.out.println("Set Age"); }

Contoh di atas memastikan bahwa metode setAge hanya dapat diakses di dalam kelas tempat ia dibuat dan tidak di tempat lain.

Pengubah Akses Publik

Pengubah akses publik adalah kebalikan langsung dari pengubah akses pribadi. Kelas, metode, atau variabel dapat dideklarasikan sebagai publik dan itu berarti dapat diakses dari kelas mana pun. Pengubah akses publik dapat disamakan dengan sekolah umum di mana siapa pun dapat meminta masuk dan diterima.

Kelas publik, metode, atau variabel dapat diakses dari kelas lain kapan saja.

Misalnya, untuk mendeklarasikan kelas sebagai publik, yang Anda butuhkan hanyalah:

public class Animal{ }

Dengan demikian, kelas Hewan dapat diakses oleh kelas lainnya.

public int age; public int getAge(){ }

Di atas adalah cara menentukan variabel dan metode sebagai publik.

Pengubah Akses Default

Pengubah akses default berbeda dari semua pengubah akses lainnya yang tidak memiliki kata kunci. Untuk menggunakan pengubah akses default, Anda cukup menggunakan pengubah akses lain dan itu berarti Anda menggunakan pengubah akses default.

Misalnya, untuk menggunakan pengubah akses default untuk sebuah kelas, Anda menggunakan

class Bird{ }

Ini pada dasarnya berarti Anda menggunakan pengubah akses default. Pengubah akses default memungkinkan variabel, metode, atau kelas untuk dapat diakses oleh kelas lain dalam paket yang sama. Paket adalah kumpulan kelas terkait dalam direktori file. Untuk informasi lebih lanjut tentang paket, lihat bagian tentang paket.

Variabel, metode, atau kelas apa pun yang dideklarasikan untuk menggunakan pengubah akses default tidak dapat diakses oleh kelas lain di luar paket tempat ia dideklarasikan.

int age; void setNewAge(){ }

Di atas adalah beberapa cara menggunakan pengubah akses default untuk variabel atau metode. Jangan lupa, pengubah akses default tidak memiliki kata kunci. Tidak adanya 3 pengubah akses lainnya berarti Anda menggunakan pengubah akses default.

Pengubah Akses Terproteksi

Pengubah akses yang dilindungi terkait erat dengan pengubah akses default. Pengubah akses yang dilindungi memiliki properti pengubah akses default tetapi dengan sedikit peningkatan.

Variabel dan metode adalah satu-satunya yang menggunakan pengubah akses terlindungi. Perbaikan kecilnya adalah bahwa kelas di luar paket kelas tempat variabel atau metode dideklarasikan dapat mengakses variabel atau metode tersebut. Ini HANYA mungkin jika diwariskan dari Kelas.

Kelas dari paket lain yang dapat melihat variabel atau metode yang dilindungi harus memperluas Kelas yang membuat variabel atau metode.

Catatan tanpa keuntungan dari Inheritance, pengubah akses default memiliki akses yang sama persis dengan pengubah akses yang dilindungi.

Contoh penggunaan pengubah akses yang dilindungi ditunjukkan di bawah ini:

protected int age; protected String getName(){ return "My Name is You"; }

Akses Pengubah di Kelas

Secara default, kelas hanya dapat memiliki 2 pengubah:

  • publik
  • tanpa pengubah (pengubah default)

Jadi ini berarti kelas tidak pernah bisa disetel ke privateatau protected?

Ini logis, mengapa Anda ingin membuat kelas privat? Tidak ada kelas lain yang bisa menggunakannya. Namun terkadang, Anda dapat menyematkan kelas ke kelas lain. Kelas-kelas khusus ini inner classes,, dapat disetel ke privat atau dilindungi sehingga hanya kelas di sekitarnya yang dapat mengaksesnya:

public class Car { private String brand; private Engine engine; // ... private class Engine { // ... } }

Dalam contoh di atas, hanya Carkelas yang dapat menggunakan Enginekelas tersebut. Ini dapat berguna dalam beberapa kasus.

Kelas lain tidak pernah bisa disetel ke protectedatau private, karena ini tidak masuk akal. The protectedakses pengubah digunakan untuk membuat hal-hal package-privatetetapi dengan pilihan untuk dapat diakses oleh subclass. Tidak ada konsep seperti 'subpackages' atau 'package-inheritance' di java.