Kamis, 21 Januari 2016

Perbedaan Instance, Object, Class

Oke, ini adalah pelajaran dasar programming. Tapi masih aja ada yang bingung tentang beda instance, object dan class. Salah satunya saya. Pengertian yang saya fahami dari senior saya dulu tentang instance dan object sederhananya begini.. Ibaratkan ada sebuah cetakan kue. Cetakan kue itu adalah class sedangkan kue adalah objectnya. Okay sampai di sini saya agak sedikit mengerti. Tapi tetap saya masih penasaran apa sih sebenarnya beda ketiganya?

Istilah instance, object dan class ini ada di object oriented programming. So, kalau kamu belajar structural programming biasanya gak ngebahas ini. Nah karena Python termasuk object oriented languages, mau gak mau saya harus pelajari lagi tentang object ini. Btw, salah satu alasannya saya dulu lebih prefer C adalah karena ini lho. Tapi itu dulu, sekarang saya akan coba untuk bahas sekilas tentang ketiga makhluk sadis ini.

Ada beberapa pembahasan tentang materi ini di StackOverflow; kalau mau lihat lengkapnya bisa baca di sini, sini, sini, dan sini.

Saya akan quote jawaban yang menurut saya paling benar dan mudah dipahami.
class is a blueprint which you use to create objects. An object is an instance of a class - it's a concrete 'thing' that you made using a specific class. So, 'object' and 'instance' are the same thing, but the word 'instance' indicates the relationship of an object to its class.
Sebuah class adalah blueprint atau cetakan yang digunakan untuk menciptakan object. Sebuah object adalah sebuah instance dari sebuah class. Oke sampai di sini mungkin bingung. Mungkin akan lebih mudah dimengerti kalau kita tau arti dari instance; instance dalam bahasa indonesia bisa diartikan contoh. Nah kalau kita artikan lagi, object adalah instance of (contoh) dari sebuah kelas. Object dan instance ini secara praktiknya sama. Bingung? oke mari kita lanjutkan bacanya.
This is easy to understand if you look at an example. For example, suppose you have a class House. Your own house is an object and is an instance of class House. Your sister's house is another object (another instance of class House).
Contoh, kita punya class House. Nah rumah kita adalah sebuah object dan sebuah instance of dari class House. Pada dasarnya object dan instance sama kan. Penerapannya coba kita lihat ya.
// Class House describes what a house is
class House {
    // ...
}

// You can use class House to create objects (instances of class House)
House myHouse = new House();
House sistersHouse = new House();
Okey, intinya jangan terlalu dipusingkan dengan instance dan object ini. Fahami saja perbedaan object dengan class dan fahami aplikasinya pada kodingan kamu.

2 komentar:

Popular Posts