Rangkuman tentang Objek – Stack – Constructor – Variabel – Overload – Argumen —– JAVA

Rangkuman tentang Object dan Variabel di Tumpukan (Stack),

  • Java memiliki dua area memori yang perlu kita tahu, yaitu Heap (Ruang Lingkup) dan Stack (Tumpukan).
  • Instance Variable adalah Variabel yang dideklarasikan DIDALAM sebuah Class, tapi berada DILUAR method.
  • Local Variabel adalah variable yang dideklarasikan DIDALAM method dan Variabel Parameter.
  • Semua Local Variabel berada di (area Memori) Stack, satu Stack = satu Method yang memiliki sebuah Local Variabel.
  • Variabel Referensi Objek bertindak seperti Variabel Primitif (cth, integer, String, dkk). Jika Variabel Referensi Objek dideklarasikan di dalam method, maka VRO akan dimasukkan ke area memori STACK.
  • Sebuah Object akan berada di area memori Heap (Ruang Lingkup), apa referensinya berada di Local Variabel atau sebagai Instance Variable.

Rangkuman tentang Constructor – Variabel – Overload – Arguments

  • Instance Variabel berada bersama Objectnya, yaitu di dalam Heap (Ruang Lingkup).
  • Jika Instance variable adalah sebuah Referensi sebuah Objek, Referensi Variabel dan Objeknya akan berada di Area Memori HEAP (Ruang Lingkup).
  • Sebuah Constructor adalah kode yang berjalan ketika kamu menulis new di dalam sebuah class.
  • Sebuah Constructor HARUS mempunyai nama yang sama dengan CLASS (tempatnya berada), dan TIDAK BOLEH memiliki sebuah tipe RETURN (nilai kembalian – layaknya sebuah Method).
  • Kita bisa menggunakan sebuah constructor untuk mengawali nilai / keadaaan variable (cth. Instance Variabel) sebuah Objek yang dibangun / dikonstruksi.
  • Jika kita tidak meletakkan sebuah Constructor di dalam Class, maka Compiler akan meletakkan sebuah nilai default Constructor.
  • Constructor Default seringkali sebuah Constructor tanpa argument / parameter.
  • Jika kita meletakkan sebuah Constructor – Constructor apa saja – di dalam Class, maka Compiler TIDAK AKAN mem-BUILD / membuat Constructor Default.
  • Jika kita ingin sebuah Constructor tanpa – argument, dan kita meletakkan sebuah Argumen di dalam Constructor, maka kita HARUS membangun / me-BUILD sendiri Constructor tanpa Argumen.
  • Usahakan untuk selalu sediakan sebuah Constructor, untuk memudahkan programmer untuk membuat sebuah Objek. Jangan lupa berikan nilai default pada variabelnya.
  • Constructor Overloaded (Beban Berlebih) berarti kita mempunyai lebih dari satu Constructor di dalam Class.
  • Constructor Overload HARUS memiliki daftar argument yang BERBEDA.
  • Kita TIDAK BISA mempunyai dua Constructor denga daftar Argumen yang SAMA. Sebuah Daftar Argumen DIPENGARUHI oleh URUTAN dan/atau TIPE Argumen.
  • Instance Variabel menugaskan sebuah NILAI DEFAULT. NILAI DEFAULT adalah 0 / 0,0 / false untuk Tipe Primitif (Integer, String, dkk), dan NULL untuk Referensi (Objek).

Semoga Bermanfaat, my WP Reader…

Beberapa Istilah dari Programming JAVA

Polimorfisme : Hasil Beda, Cara (Metoda) Sama, Kelas Beda (tentu saja).

Overloading : Metode SAMA, Parameter (Argument) Beda, Kelas SAMA. Tujuan: memudahkan penggunaan method dengan fungsi yang hampir

public void tambah1(){
int a=5, b=10;
System.out.println(“Hasil Pertambahann dari metod tambah1 ke-1 = “+(a+b));
}

public void tambah1(int x, int y){
System.out.println(“Hasil Pertambahann dari metod tambah1 ke-2 = “+(x+y));
}

Overriding : Metode dan Parameter (argument) SAMA, Hasil Beda (Output/nilai return), Kelas BEDA dan secara Inheritance.

Contoh:

class Nama{
public void Sapa(){
System.out.println(“Achmad Cahya Aditya”);
}

class Siapa extends Nama{
public void Sapa(){
System.out.println(“Yesica Dwi Lestari”);
}
}

993754_747172568670237_699908652177029302_n

Make a new variable from Wolf() type

Polymorphism

Contoh dari Polimorfisme

Abstract Class and Method

Abtract Class berfungsi untuk memisahkan antara sub-class dan kelas di atasnya, karena kelas yang berada di atas sub-class (class terakhir dari pohon turunan) tidak diinginkan untuk membuat objek baru (new object) dari tipe kelas abstrak tersebut. Abstract class adalah jenis class yang berada sebelum class concrete.

Abstract class is NO USE, NO VALUE, NO PURPOSE IN LIFE, hanya sebagai class yang mewakili kelas-kelas yang dibawahnya (read: sub-class).

Abtract class bertugas sebagai tempat variable dan method sub-classnya.

Sebuah Abstract Class berarti Class tersebut harus di Extends (have Inheritance).

Sebuah Abstract Method berarti Method tersebut harus di Override.

Abstract Method TIDAK BOLEH berada di Concrete Class. But, Concrete Method BOLEH berada di Abtract Class.

Sebuah Abstract Class tidak memiliki “BADAN”, sehingga class-nya diakhiri dengan tanda TITIK-KOMA (“ ; “) tanpa KURUNG-KERITING (“{}”)

993754_747172568670237_699908652177s029302_n

Contoh kode abstract Class.

Concrete Class and Method

Concrete class ialah class paling ujung di setiap cabang sebuah pohon turunan.

Concrete Class and Method dapat dimodifikasi dari kelas di atasnya (Abstract Class).

Untitled

Object Class

Kelas Objek adalah kelas yang paling ATAS dari semua kelas yang berada di Pohon Turunan Kelas (Inheritance). Kelas Objek ini biasa disebut dengan SUPER-CLASS.

Setiap Class, pada dasarnya, merupakan Extends dari Object Class, tapi compiler telah secara otomatis mengenalinya tanpa kita menuliskan “…Extends Object”.

ArrayList<Class>

ArrayList adalah kelas yang menyimpan suatu Daftar Array (ArrayList) berdasarkan Kelas yang ditulis dalam kurung-siku (“< >”).

Contoh. Ketika kita menulis,

ArrayList<anjing>  DaftarAnjing = new ArrayList<anjing>;

anjing heli = new anjing(); //Membuat anjing (Object) baru yang bernama heli.

DaftarAnjing.add(heli); //add adalah method dari Kelas ArrayList<>.

anjing doggy = DaftarAnjing.get(0); // menyimpan variable dan method yang berada pada Object heli ke Object doggy dengan tipe anjing.

Lalu, bagaimana kalau kita menulis ArrayList<Object> (objej anjing diganti dengan objek Object).

Contoh. Ketika kita menulis,

ArrayList<Object>  DaftarAnjing = new ArrayList<Object>;

anjing heli = new anjing(); //Membuat anjing (Object) baru yang bernama heli.

DaftarAnjing.add(heli); //add (menambahkan ke ArrayList) adalah method dari Kelas ArrayList< >.

anjing doggy = DaftarAnjing.get(0); // menyimpan variable dan method yang berada pada Object heli ke Object doggy dengan tipe anjing. Tapi, kali ini COMPILER tidak akan meng-COMPILE barisan kode ini.

Alasan compiler tidak meng-Compile code terakhir ialah, karena OUTPUT dari ArrayList<Object> berbentuk / berTIPE Object, bukan tipe anjing. Karena itulah, Compiler akan Error saat meng-Compilenya.

Berikut adalah ilustrasi dari ArrayList<Object>,

Untitlsed

Ilustrasi: Object Bola, Ikan, Gitar, dan Mobil ditambahkan ke ArrayList<Object> (ArrayList yang menyimpan objek yang bertipe Object).

Saat kita memanggil / mengeluarkan Object yang berada di dalam ArrayList<Object>, maka Object yang keluar adalah objek yang bertipe Object, bukan lagi bertipe Bola, Ikan, Gitar, maupun Mobil. Hal ini disebabkan karena Compiler tidak Membedakan “KELUARAN” dari ArrayList<Object>.