Dari kursus: Pemrograman Java Tingkat Lanjut

Memahami modul di Java

- [Instruktur] Di Java 9, sistem modul baru diperkenalkan. Modularitas membuatnya lebih mudah untuk menulis kode yang dikemas dengan baik dengan memecah basis kode besar menjadi bagian-bagian kecil. Jadi mengapa sistem modul diperkenalkan? Ini dapat dijawab dengan melihat JDK itu sendiri. Sebelum Jawa 9, JDK adalah salah satu struktur monolitik yang sangat besar. Bahkan jika Anda hanya ingin menulis aplikasi kecil, Anda masih harus memiliki seluruh JDK besar di mesin Anda. Itu bahkan jika Anda tidak menggunakannya banyak. Masalah lainnya adalah kode lama yang tidak digunakan atau kode lama dengan kerentanan keamanan sangat sulit untuk dihapus. Menghapusnya akan menyebabkan masalah kompatibilitas mundur. Solusi untuk masalah ini adalah dengan memperkenalkan modul. Ini berarti bahwa JDK dapat dipecah menjadi bagian-bagian kecil. Kode lama dapat dihapus dan begitu juga kode yang tidak sering digunakan. Apa pun yang ekstra dapat ditambahkan jika diperlukan. Jika ada kebutuhan untuk menggunakan banyak modul yang tersedia, ini dapat dengan mudah diimpor ke dalam aplikasi. Jadi sistem modul telah digunakan untuk memecah JDK itu sendiri. Tapi itu juga bisa digunakan untuk membuat aplikasi Java. Aplikasi Java yang ada juga dapat dibuat modular. Java sering digunakan untuk membangun aplikasi besar. Dan basis kode yang besar bukanlah hal yang aneh. Menyusun aplikasi besar bisa sangat sulit. Tetapi modularitas adalah alat yang berguna untuk mengurangi kompleksitasnya. Jadi apa itu modul? Modul adalah sekelompok kode terkait. Jadi itu berisi beberapa kode dan mungkin berisi beberapa sumber daya lain juga. Itu juga harus memiliki nama. Seperti paket di Java, nama modul berada di namespace global dan mereka harus unik. Itu berarti bahwa setiap modul Java yang ada harus memiliki nama yang berbeda. Dengan paket, hal ini sering dicapai dengan menggunakan nama domain perusahaan, misalnya com.mycompany.mypackage. Hal serupa dapat dilakukan dengan modul. Misalnya, Anda dapat menyebutnya, com.mycompany.mymodule. Modul juga berisi beberapa informasi tentang modul itu sendiri. Secara default, semua yang ada dalam modul disembunyikan ke dunia luar. Bahkan jika kelas bersifat publik, sebenarnya tidak dapat diakses di luar modul. Tetapi setiap modul memiliki deskriptor modul. Ini dapat digunakan untuk menentukan apakah kode dalam modul harus dapat diakses oleh modul lain. Deskriptor juga dapat digunakan untuk menyatakan apakah kode dari modul lain akan digunakan. Ini adalah cara yang berguna untuk memastikan kode dienkapsulasi. Hanya kode yang diperlukan yang dapat terlihat oleh dunia luar. Dan itu membuat penataan basis kode besar jauh lebih mudah dikelola.

Konten