Variable Scope
Mendeskripsikan Variable Scope Variable Scope : ruang lingkup keteraksesan variabel. Pendefinisian scope menentukan pada bagian mana saja suatu variabel dapat diakses Berdasarkan scope-nya, variabel dibagi atas 2 kategori : instance variable : variabel yang dapat digunakan pada semua bagian obyek local variable : yaitu variabel yang hanya dapat digunakan pada method yang mendeklarasikannya
Alokasi Memory
Penempatan Instance Variable dan Local Variable pada Memori(1) Instance Variable disimpan pada Heap Memory Local Variable disimpan pada Stack Memory Sebelum menempatkan Local Variable pada Stack Memory, terlebih dahulu dilakukan alokasi scope pada Stack Memory. Local variabel akan ditempatkan pada alokasi memory yang termasuk dalam scope
Membuat dan Menggunakan Objek
Deklarasi Referensi Obyek (1) Selain Variabel Primitif, terdapat satu jenis variabel lagi, yaitu : Variabel Referensi Obyek Ilustrasi :
Deklarasi Referensi Obyek(2) Letak variabel referensi obyek pada memory :
Deklarasi Referensi Obyek(3) Syntax : Classname identifier ; Contoh :
Inisialisasi Variabel Referensi Obyek (1) Syntax : Classname identifier = new Classname ( ) ; atau Classname identifier ; identifier = new Classname ( ); Contoh :
Inisialisasi Variabel Referensi Obyek(2) Hasil akhir pada memory :
Menggunakan Variabel Referensi Obyek untuk Memanipulasi Data Contoh :
Memindahkan Referensi dari Satu Obyek ke Obyek yang Lain (1) Contoh :
Memindahkan Referensi dari Satu Obyek ke Obyek yang Lain (2)
Kelas String
Menggunakan Class String Keunikan String : Merupakan kumpulan karakter yang jumlahnya dari 0 sampai memori tidak mencukupi Dapat diinstanstiasi tanpa kata kunci new Contoh penggunaan String :
Instanstiasi String dengan new Instanstiasi String dengan new : JVM akan membentuk 2 buah obyek : Obyek String : memuat referensi ke suatu String literal pada literal pool. String literal : yang memuat karakter-karakter. String literal ini terletak pada literal pool Literal pool : satu blok alokasi memory pada Heap Memory yang khusus berisi kumpulan String literal. Alokasi literal pool ini dimaksudkan untuk mengakomodasi apabila terdapat lebih dari satu obyek String yang mereferensi ke literal yang sama, tidak perlu membuat 2 string literal dengan komposisi karakter yang sama, tetapi cukup hanya 1 string literal saja.
Instanstiasi String tanpa new Instanstiasi String tanpa new : JVM akan membentuk 1 buah obyek : Obyek String : memuat referensi ke suatu String literal pada literal pool. String literal akan dibentuk apabila representasi karakter obyek String belum ada di Literal Pool
Hasil Instanstiasi String
Penggunaan ‘==‘ dan Method equals( ) untuk Membandingkan dua buah String Penggunaan ‘==‘ : lebih menekankan apakah kedua obyek String tersebut menunjuk ke string literal yang sama Penggunaan method equals () : lebih menekankan apakah representasi karakter kedua String sama atau tidak