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


Loading...

0 Response to "Belajar Mengenal Immutable dan Mutable Object di Program Java"

Post a Comment

Silakan berkomentar dengan baik ,jangan SPAM di komentar ini . NO BACKLINK /LINK HIDUP

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel