Apa itu ?
Mungkin tanpa kita sadari sering menggunakan teknik ini ketika melakukan penulisan Code di Java. Pada bahasa pemrograman Java kita bisa menuliskan kelas lain di dalam sebuah kelas atau biasa disebut sebagai nested class. Kita bisa menuliskan secara langsung tanpa memberi nama (class NameClass) dan langsung mendeklarasikannya seperti pada contoh di bawah ini. Pembuatan nested class tanpa harus memberi nama ini dikenal dengan anonymous class.
Bayangkan jika harus menulis satu-satu tiap masing kelas tersebut (HelloSunda, HelloBahasaIndonesia). Apalagi kalau kelas tersebut hanya sekali digunakan, tentu terasa sangat tidak praktis. Selain itu penggunaan anonymous class ini membuat kita menjadi lebih concise (ringkas).
Syntax dan Structure
Dalam structure code di bawah, terdapat Class Engine sebagai outer class, Diesel sebagai interface inner class, V12Engine sebagai inner class. Pada baris code Diesel RBPower2004 = new Diesel() merupakan contoh dari anonymous class. Ketika local class seperti V12Engine adalah bentuk deklarasi, anonymous class yang ditampung pada object RBPower2004 lebih ke bentuk ekspresi, yang artinya kita mendefiniskan class terebut dalam ekspresi yang lain (RBPower2004).
Seperti pada contoh anonymous class (RBPower2004) tersusun dari hal-hal berikut:
- Operator new.
- Nama interface atau class parent. Contohnya bisa dilihat anonymous class mengimplementasi interface Diesel.
- Parantesis yang mencakup parameter / argumen untuk metode constructor sebuah class. Untuk kasus interface tidak terdapat metode constructor. seperti pada contoh yaitu Diesel RBPower2004 = new Diesel(), Diesel() tidak mengirim apapun ke dalam parantesisnya.
- Body class, yang mendeklarisakan isi dari class anonyomus tersebut. Pada contoh mulai dari bari 19 sampai 26.
- Anonymous class yang mengimplemen interface, untuk contoh ini bisa dilihat pada code Engine di atas.
- Anonymous class yang mengextends (menjelaskan ulang) sebuah class. Contohnya seperti berikut:
Pada contoh tersebut. object Tiger melakukan penjelasan ulang terhadap class Carnivora tanpa pelu melakukan pendeklarasian sebuah class baru.
Kesimpulan
Dalam bahasa pemrograman Java, anonymous class adalah sebuah fitur yang memudahkan pembuatan class sederhana tanpa perlu mendefinisikan class secara eksplisit. Anonymous class memungkinkan kita untuk membuat instance dari class secara langsung tanpa harus membuat class terlebih dahulu.
Sumber
- https://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html#:~:text=Anonymous%20classes%20enable%20you%20to,a%20local%20class%20only%20once. diakses tanggal 1-Jan-2024
- https://www.petanikode.com/java-oop-anonymous. diakses tanggal 1-Jan-2024
- https://www.programiz.com/java-programming/anonymous-class#:~:text=In%20Java%2C%20a%20class%20can,as%20an%20anonymous%20inner%20class. di akses tanggal 6-Jan-2024
Posting Komentar untuk "Mengenal Anonymous Classes pada Bahasa Pemrograman Java"
Berilah komentar, saran, dan kritik dengan bijak