Penggunaan
modifier berfungsi untuk melakukan enkapsulasi (membungkus data) pada objeck.
Dengan menggunakan modifier kita dapat menentukan siapa saja yang boleh
menggunakan atau mengakses member dari suatu objek.
Modifier
diletakkan pada anatomi kelas, sifatnya optional, digunakan berdasarkan
kebutuhan.
Modifier
menunjukkan sifat‐sifat tertentu dari : kelasnya,
methodnya, atau attributenya. Maka dari itu, modifier memberi dampak tertentu
pada kelas, interface,metode, dan variabel.
Ada
beberapa keyword yang digunakan sebagai modifier dan dikelompokkan menjadi :
Java
modifier terbagi menjadi kelompok berikut :
- Modifier ketampakan/Visiblity modifier/Modifier pengaksesan/Access modifier) berlaku untuk kelas,interface, metode, dan variabel yaitu default, public, protected, private.
- Final modifier berlaku untuk kelas, variabel, dan metode, yaitu final.
- Static modifier berlaku untuk variabel dan metode, yaitu static.
- Abstract modifier berlaku untuk kelas, dan metode, yaitu abstract.
- Synchronized modifier berlaku untuk metode, yaitu synchronized.
- Native modifier berlaku untuk metode, yaitu native.
- Storage modifier berlaku untuk variabel, yaitu transient.
***
Access
Modifier
Modifier
akses digunakan untuk membatasi akses class lain terhadap suatu bagian dari
class.
(attributes,
methods, ataupun class itu sendiri)
Ada
4 macam modifier akses:
1.
default (bisa
diakses oleh anaknya dan semua yang satu package/satu folder.)
Modifier
default menspesifikasikan kelas-kelas sepaket yang mengakses. Tidak ada keyword
khusus untuk mendeklarasikan default access modifier, bila tidak ada access
modifier pada deklarasi variabel atau metode berartimodifier yang digunakan
adalah default modifier.
Jika
tidak disebutkan akses modifiernya berarti default, sifatnya:
–
Dapat diakses pada kelas itu
–
Dapat diakses pada kelas yang sama pada paket
(package/directory)
yang sama
2.
public (umum, bisa
dipakai siapa saja.)
Modifier
public menspesifikasikan variabel dan metode yang dapat diakses oleh siapa pun,
baik di dalam atau di luarkelas. Hal ini berarti anggota public tampak dan dapat diakses oleh
sembarang objek lain.
3.
protected (hanya
bisa diakses oleh anak‐anaknya)
Modifier
protected menspesifikasikan anggota hanya dapat diakses metode-metode di kelas
itu dan subkelas-subkelas turunan kelas itu. Ini berarti anggota protected
hanya terbatas pada kelas itu dan subkelas-subkelasnya.
4.
private (hanya bisa
diakses class tersebut)
Modifier
private adalah paling terbatas karena menspesifikasikan anggota kelas hanya
dapat diakses oleh kelas di mana anggota itu didefinisikan. Ini berarti tidak
ada kelas lain yang dapat mengakses anggota private, sekalipun subkelasnya.
***
Final
Modifier
Modifier
final berarti konstan / tetap dan tidak dapat dimodifikasi (diubah). Variabel
final harus diinisialisasi saat dideklarasikan. Apabila diterapkan pada metode
berarti metode tidak dapat ditimpa. Metode yang diberi modifier finaltidak
dapat lagi diperluas dan ditimpa (override) di subkelas-subkelasnya. Modifier
final berarti anggota kelas itu versi akhir (final version).
Variabel
final serupa dengan variabel const di C++. Variabel ini harus selalu telah
diinisialisasi saat deklarasi dan selanjutnya nilainya tidak dapat diubah.
Untuk
membuat sebuah variabel menjadi konstanta.
•
Jika modifier final diberikan pada suatu class, maka class tersebut tidak bisa
diturunkan/diwariskan.
•
Jika diberikan pada suatu method, maka method tersebut tidak bisa diturunkan ke
anaknya
***
Static
Modifier
Modifier
static berarti variabel diasosiasikan dengan kelas dan dipakai bersama
objek-objek kelas itu. Variabel staticdisebut variabel kelas (class variable).
Kita memanggilnya pada kelas bukan pada satu objek.
Serupa
dengan data statis, kita juga membuat metode yang hanya bertindak pada kelas,
jadi hanya dapat mengaksesvariabel static saja bukan data instan tertentu. Kita
mendeklarasikan dengan memberi modifier static.
Terdapat
kebutuhan variabel atau metode yang common (dipakai bersama) untuk semua objek
tertentu. Modifier static menspesifikasikan bahwa variabel atau metode sama
untuk semua objek kelas itu. Metode atau variabel yang memiliki modifier static
adalah milik kelas. Metode static hanya dapat mengakses variabel statis. Metode
nonstatis dapat mengakses variabel instan dan variabel static . Metode kelas
(class method, yaitu dengan modifier statis) hanya diizinkan mengakses variabel
static . Metode static adalah final.
Metode
static yang public yang dapat diakses tanpa perlu menciptakan instan kelas.
Metode System.out.println ()adalah static, sehingga dapat dipanggil tanpa
diinisialisasi objek System. Variabel out adalah anggota static kelasSystem,
akibatnya untuk mengaksesnya kita tidak perlu melakukan inisialisasi objek out
Modifier
static digunakan untuk membuat sebuah method/attribute bisa diakses tanpa
melakukan
instansiasi terlebih dulu.
•
Contoh System.out.println() bersifat static artinya untuk memanggil method
println() tidak harus
dilakukan instansiasi dari kelas System.
•
Nilai attribute yang static akan sama untuk semua objek.
•
Kelebihan:
–
Mudah digunakan
–
Tidak perlu instansiasi obyek
–
Dapat digunakan bersama‐sama dengan obyek lain
•
Kekurangan:
–
Boros memory
–
Tidak bersifat private untuk masing‐masing
obyek
***
Abstract
Modifier
Modifier
abstract berarti mengidentifikasi metode yang tidak dapat dijalankan dan harus
didefinisikan subkelas tidak abstrak dari kelas yang dideklarasikan. Metode
abstract tidak mempunyai badan metode, jadi langsung diakhiri dengan titik koma
(;)
***
Synchronized
Modifier
Modifier
synchronized berarti metode harus memperoleh look di satu objek atau kelas
sebelum dapat dieksekusi.Modifier synchronized untuk menspesifikasikan bahwa
metode adalah thread safe. Ini berarti hanya satu jalur eksekusi yang diizinkan
di metode synchronized pada satu waktu. Pada lingkungan multithread seperti
Java, dimungkinkan lebih dari satu jalur eksekusi berjalan di kode yang sama.
Modifier synchronized mengubah aturan ini dengan hanya mengizinkan satu
pengaksesan thread tunggal pada satu saat, memaksa thread-thread lain menunggu
giliran.
***
Native
Modifier
Modifier
native berarti metode ditulis di bahasa selain bahasa Java. Seperti pada metode
abstract, badan metode diganti atau diakhiri dengan titik koma (;).
Modifier
native untuk menspesifikasikan metode dengan implementasi di bahasa lain.
Modifier native menginformasikan ke kompilator Java bahwa implementasi metode
di file C/C++ eksternal. Hal ini menjadi alasan kenapa deklarasi metodenative
terlihat berbeda dari pada metode-metode lain
, yaitu tanpa badan metode.
***
Storage
Modifier
Modifier
transient mengacu ke objek dan nilai primitif di Java virtual machine. Modifier
ini untuk menyatakan bahwavariabel tidak menjadi sasaran serialisasi. Volatile
Modifier
volatile mengacu ke objek dan nilai primitif yang dapat dimodifikasikan secara
asinkron. Variabel-variabel ini diperlakukan secara spesial oleh kompilator
untuk mengendalikan cara variabel-variabel itu diperbarui.
Sumber
Referensi :
lecturer.ukdw.ac.id
http://sinau-java.blogspot.com
http://blog.uin-malang.ac.id
0 comments:
Post a Comment