Anda di halaman 1dari 7

Ketika kita membahas Object di dunia nyata kita, object adalah benda hidup (hewan,

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.

Sebuah object dikatakan object karena:

1. Memiliki attribut/property/State (nama, berat, tinggi, warna dll),


2. Memiliki Aksi / kelakuan (tumbuh, makan, minum, tidur, memperkeras suara,
memotong dll),
3. memiliki keunikan (object memiliki beberapa keadaan dan fungsi yang sama tapi
tetap ada bedanya).

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.

Umumnya deklarasi class contohnya seperti berikut:

public class Orang {


// field
private String id;
private String nama;
private int umur;

//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;
}

public void setId(String id) {


this.id = id;
}

public String getNama() {


return nama;
}

public void setNama(String nama) {


this.nama = nama;
}

public int getUmur() {


return umur;
}

public void setUmur(int umur) {


this.umur = umur;
}

public void kenalan(){


System.out.println("Halo nama saya "+ this.nama);
}
}

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 :

public class Karyawan extends Orang{


private String jabatan;

public Karyawan(String id, String nama, int umur,String jabatan) {


super(id, nama, umur);
this.jabatan = jabatan;
}

public String getJabatan() {


return jabatan;
}

public void setJabatan(String jabatan) {


this.jabatan = jabatan;
}

@Override
public void kenalan(){
System.out.println("Halo nama saya "+ super.getNama()+
"\nSaya menjabat sebagai "+ this.jabatan);
}
}

Disini class Karyawan menggunakan keyword extends di deklarasi classnya dan


menambahkan class Orang sebagai superclassnya sehingga membuatnya turunan dari
class Orang. Dari situ class Karyawan merupakan turunan dari class Object secara tidak
langsung.
Catatan : keyword this digunakan untuk mereferensikan object setelah class ini digunakan untuk
membuat object. fungsinnya untuk mengakses field dan method object tersebut.

Membuat Object (Instansiasi Class)


Di java object dibuat pada saat runtime atau saat program dijalankan dengan
mengalokasi memori dari template atau cetakan (Object class) entah
itu String Integer atau dari Object class kita sendiri.

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 :

Object object = new Object();

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:

Object object = genericObjectVar.getObject();


// atau Object object = getObject("text string"); <-- argumen bisa string,integer,
boolean dll.

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:

String text = new String("teks string");


Integer angka = new Integer(1);
Boolean bool = new Boolean(true);
// dst ....

/* atau dengan cara yang telah biasa kita gunakan


String text = "teks string";
int angka = 1;
boolean bool = true;
*/

ℹ️ 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:

int panjangText = new String().length();

Membuat Object dari Class Yang telah kita buat


Pada bagian sebelumnya kita telah membuat class Orang dan Karyawan untuk object kita
sendiri, sekarang kita coba membuat object dari class yang telah kita buat tadi seperti
berikut:

class Main {
public static void main(String[] args) {

Orang ido = new Orang("001","Ido",19);


Orang dina = new Orang("002","dina",18);
Orang dino = new Orang("003","dino",18);
// dst ...
Karyawan driona = new Karyawan("001", "Driona", 23, "supervisor");
Karyawan tio = new Karyawan("002", "tio", 25, "manager");
//dst ...
}
}

Mengunakan Object yang telah dibuat


Setelah kita membuat object tentu kita ingin menggunakannya dengan mengakses nilai,
mengubahnya, atau menjalankan aksi yang dapat dilakukan object tersebut. Disini kita
akan mengakses,mengubah dan menjalankan aksi dari salah satu object Karyawan yang
telah kita buat seperti berikut:

Karyawan driona = new Karyawan("001", "Driona", 23, "supervisor");

System.out.println(driona.getJabatan());//mengakses jabatan object menggunakan fungsi


// jabatan driona adalah "supervisor"

driona.setJabatan("manager"); // mengubah jabatan object menggunakan fungsi


// sekarang jabatan driona adalah "manager" di kantor cabang perusahaan

driona.kenalan();//memanggil aksi perkenalan yang misalnya akan dilakukan di kantor


cabang

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.

Anda mungkin juga menyukai