Skip to content Skip to sidebar Skip to footer

Belajar Mengenal Immutable dan Mutable Object di Program Java

Beberapa dari kalian,  mungkin jarang mendengar atau bingung  ,tentang istilah apa itu immutable dan mutable  di bahasa pemrograman Java.  Contohnya saja , saat kita membuat objek baru dengan class String , sebenarnya kita telah menerapkan sifat immutable yang dimiliki oleh class String. Nilai atau value yang digunakan pada objek, yang kita simpan bersifat konstan , alias tetap tidak bisa diganti atu dirubah. 

Sedangkan , saat kita membuat objek baru dengan class StringBuffer atau StringBuilder ,kita dapat mengganti atau merubah nilai atau value didalamnya , karena bersifat mutable. Jadi immutable adalah salah satu sifat pada objek dari class tertentu ,yang nilai atau valuenya tidak dapat diubah-ubah (tetap), sebaliknya mutable adalah salah satu sifat pada objek dari class tertentu ,yang nilai atau valuenya dapat diubah-ubah (tidak tetap).  

Belajar Mengenal Perbedaan Perbandingan Apa itu Immutable dan Mutable Object String StringBuilder StringBuffer di  Program Java




Nah ,setelah kita mengetahui penjelasan secara singkat , apa itu immutable dan mutable. Pada artikel belajar java kali ini ,kita akan belajar mengenal contoh program yang menggunakan sifat immutable dan mutable ,di  bahasa pemrograman Java. Selengkapnya , berikut mari kita simak lebih lanjut:



1. Pertama buka IntelliJ IDEA ,atau Software IDE lain yang kalian gunakan , di Komputer atau Laptop kalian.


2.  Kalian bisa perhatikan Contoh code ,beserta penjelasanya di bawah:

  • Immutable


Contoh Code :


Contoh Code Sifat Immutable String Java
Contoh Code Sifat Immutable String 1


Penjelasan :

Pada contoh code program diatas ,akan menghasilkan output hasil "Belajar". Ini di karenakan objek dari class String ,mempunyai sifat immutable , pada referensi objek string.  Untuk lebih jelasnya kalian bisa perhatikan gambar dibawah :

Contoh gambar objek menyimpan nilai String Java
Contoh gambar objek menyimpan nilai


Seperti yang kalian lihat pada contoh gambar diatas.  String constant pool ,akan terbentuk di Java Memory Heap , dikarenakan sifat immutable yang terdapat pada objek dari class String. Pada objek string diatas hanya mereferensikan nilai "belajar" , bukan "belajar java". Beda halnya jika kita menetapkan kembali secara eksplisit objek string. Sebagai contoh code berikut :

Contoh Code:



Contoh Code Sifat Immutable String 2 Java
Contoh Code Sifat Immutable String 2




Penjelasan :

Seperti yang kalian lihat , khususnya pada baris code ( string = string.concat("java"),  kita telah menetapkan kembali secara eksplisit , sehingga tampilan output yang dihasilkan adalah : "belajarjava". Jadi method .concat() ( concatenate = merangkai )  disini bukan mengubah , tapi hanya menggabungkan , nilai string yang sifatnya tetap alias immutable, menjadi output hasil baru. Sama saja seperti  code (string = "belajar "+ "java").



Output :

Output Hasil Contoh Code Sifat Immutable String 2 Java
Output Hasil



Nah , bagaimana jika codenya seperti berikut :



Contoh code string referensi objek dengan nilai baru Java
Contoh code referensi objek dengan nilai baru

Penjelasan:

Pada dasarnya,  sifat immutable itu ketika instansi objek , mempunyai nilai yang tidak dapat dimodifikasi. Jika pada contoh code program diatas , kita tidak dapat mengubah nilai atau value "belajar" menjadi "java". Akan tetapi , kita dapat menetapkan nilai baru ke referensi objek yang sama.  Jadi pada code : (string = "java") sama halnya dengan code (string = new String("java")).


  • Mutable

Contoh Code:


Contoh code sifat mutable di StringBuilder dan StringBuffer Java
Contoh code sifat mutable di StringBuilder dan StringBuffer


Penjelasan :

Pada contoh code program diatas , kita menggunakan objek dari class StringBuffer dan StringBuilder , yang sama-sama mempunyai sifat mutable , alias dapat dimodifikasi dan diubah(tidak tetap). Kita menggunakan method .append() ,dari class StringBuffer dan StringBuilder ,yang berfungsi untuk memodifikasi atau menggabungkan nilai , tanpa perlu menetapkan kembali secara eksplisit.


Output :

Output Hasil Contoh code sifat mutable di StringBuilder dan StringBuffer Java
Output Hasil


Post a Comment for "Belajar Mengenal Immutable dan Mutable Object di Program Java"