tumbuhan, bakteri, virus, dll), benda mati (alat, patung, bangunan, dll), atau juga bisa
mewakili orang atau sekumpulan orang(organisasi, instansi/bagian, dll) dan sebagainya.
Singkatnya Object adalah segalanya baik yang berbentuk ataupun dapat dinalar
(logical). Karena itu disini kita tidak akan membahasnya satu persatu dari hewan itu ada
harimau, elang, dll dan harimau itu ada harimau itu ada harimau sumatra,jawa,
benggala, siberia, dll.
Object Di Java
Kriteria object di java juga memiliki ketiga kriteria didunia nyata yang kita bahas diatas,
memiliki nilai, aksi dan identitas(bisa diimplementasikan menggunakan id unik).
Object di java adalah bentuk jadi dari Class. Jadi class itu template atau cetakan untuk
sekelompok objek yang memiliki properti yang sama. Class bisa terdiri dari:
1. Fields Template dari keadaan(property) yang bisa membedakan objek yang satu
dengan yang lainnya
2. Methods Template dari fungsi dari objek tersebut. Umumnya didalamnnya juga
ada mutator atau fungsi yang bisa mengubah keadaan(property) objek
dan accessor untuk mengakses informasi fields pada object.
3. Constructors Sesuai dengan namanya Constructor adalah pembangun
objek,umumnya memberikan nilai keadaan default dari objek.
4. Blocks kode blok seperti blok perulangan, blok percabangan dan blok lainnya
5. Nested Class dan interface Class di dalam class, termasuk class yang didalamnya
berupa fungsi abstrak (referensi type) yang disebut interface class.
Object Class di java
Object Class Adalah class utama dari primitif type yang ada di java atau bisa kita
katakan Object class itu adalah leluhur dari class lainnya di java
seperti String, Integer, Boolean, Float, dan banyak lainnya.
Karena Object class adalah leluhur dari class lainnya maka akan membuat class lainnya
juga memiliki sifat atau fungsi yang sama yang diturunkan oleh Object class.
Pada bagian ini bisa kalian hitung berapa kali saya pake kata lainnya.
Membuat Class (Deklarasi Class)
Seperti yang telah dibahas sebelumnya setiap class di java adalah turunan
dari Object Class. Tapi tidak semua class diturunkan secara langsung dari Object class.
Jika class yang dibuat tidak menggunakan keyword extends berarti class tersebut secara
langsung turunan dari Object class jika menggunakan extends berarti turunan dari class
lainnya, Tapi tetap saja class yang diatasnya tersebut alah turunan
dari Object class _secara tidak langsung.
⚠️Peringatan: jangan keliru antara membuat class (Deklarasi class) dan membuat object (instansiasi
object) karena umumnya setiap tutorial menggabungkan keduanya menjadi nested class(class didalam
class), tapi ada benar juga karena untuk membuat object kita perlu membuat classnya dulu.
Membuat class adalah membuat cetakan atau template untuk object yang akan dibuat, sedangkan
membuat object kita menggunakan cetakan tersebut dengan keyword new.
//Constructor
public Orang(String id, String nama, int umur) {
this.id = id;
this.nama = nama;
this.umur = umur;
}
// deklarasi method
public String getId() {
return id;
}
Disini kita membuat sebuah class Orang untuk mewakili orang yang secara
langsung merupakan turunan dari Object class. Class tersebut terdiri dari field yang
menyediakan keadaan object, Contructor dengan argumen untuk inisialisasi object, dan
beberapa method yang mengimplementasikan perilaku/fungsi object tersebut.
Pada class kita bisa memiliki lebih dari satu Constructor dengan jumlah atau tipe data
argumen berbeda, sama halnya dengan method overloading, tapi kalo Constructor
nama fungsinya harus sama dengan nama Classnya.
Contoh lain :
@Override
public void kenalan(){
System.out.println("Halo nama saya "+ super.getNama()+
"\nSaya menjabat sebagai "+ this.jabatan);
}
}
Umumnya untuk membuat object kita menggunakan operator atau keyword new.
operator new menginstansiasi class dengan mengalokasi memori untuk objek baru dan
mengembalikan referensi ke memori tersebut. referensi ini biasanya di tujukan ke
variabel yang sesuai dengan tipe objek yang dibuat. Contoh :
Disini kita menginisialsisai object dengan mereferesikan alokasi memori dari template
class Object atau simpelnya memberikan nilai default ke variabel tersebut. Contoh diatas
jika kita tidak tau object apa yang akan di tujukan kepada variabel object tersebut.
biasanya di gunakan untuk mendapatkan nilai dari fungsi yang berasal dari generic
class atau generic method dalam class tersebut contoh:
Cara tersbut hanya bisa digunakan untuk tipe object primitif atau tipe object bawaan
dari bahasa program java. Tapi jika tipe object-nya sudah diketahui maka cukup
gunakan tipe data yang sesuai. Seperti:
ℹ️ Catatan: Kata ”instansiasi class” sama artinya dengan ”membuat object”. ketika membuat objek,
maka kita membuat sebuah sample/contoh dari class.
Referensi yang dikembalikan oleh operator new juga tidak harus di tujukan ke variabel
karena juga bisa digunakan langsung menggunakan ekspresi atau fungsi didalam object
class tersebut. contohnya:
class Main {
public static void main(String[] args) {
Dari contoh tersebut bisa kita ketahui kita perlu menggunakan referesi object (driona)
dan diikuti dengan tanda titik (.) untuk mengakses method-nya. Sebenarnya kita juga
kita bisa mengakses field dari sebuah class yang umumnya class tersebut adalah static
class. untuk yang kita bahas disini adalah class dinamis.
The End
Sebenarnya masih banyak sekali hal yang belum kita bahas mengenai Object dan
terutama Class seperti interface class, static class dan Generic class yang sempat kita
singgung dan sama sekali tidak disangka bahasan tentang class sendiri bisa sangat
panjang. Tapi semoga yang telah kita bahas di artikel ini bisa membantu teman-teman
untuk sedikit memahami tentang object dan class di java.