Class, Object, dan Method???
Jika kita belajar bahasa pemrograman berbasis objek
ato yg sering dikenal dengan OOP, istilah – istilah diatas tdk akan untuk kita.
Tapi, sebagian besar dari kita kuran memahami apa sih itu “Class”, apa sih “Object”,
dan Apa itu “Method”. Ane jg begitu, bingung. Tapi cari-cari dim bah google ane
dpt ne refrensi yg ane bilang mudah dicerna dengan implementasi menggunakan
pemrograman java netbeans, yang mw download silahkan monggo materi lengkapnya Download
So, here we go…
Class vs Object
Object adalah
instansiasi dari sebuah Class. Kalau kita analogikan, class itu sebuah cetakan
sedangkan
object itu adalah barang dari hasil cetakan. Class juga bisa dikatakan sebagai
kategori,
sedangkan object adalah sesuatu yang memenuhi syarat-syarat yang harus dipenihi
agar
masuk dalam
kategori tersebut. Jadi bisa dibilang satu class bisa mempunyai banyak object,
setiap object
mempunyai sifat yang sama persis seperti yang didefnisikan dalam class
tersebut.
Kita ambil
contoh adalah class Person, kemudian kita buat sebuah instance dari class
Person yaitu
ifnu. Kalimat
di atas kalau diwujudkan dalam kode menjadi seperti di bawah ini :
Person ifnu = new
Person();
Dua kata paling
kiri adalah proses deklarasi sebuah object dengan tipe Person, kemudian di
sebelah kanan
tanda sama dengan (=) terjadi proses instansiasi object dari class Person
menggunakan
keyword new. Setiap kali kita bertemu keyword new artinya hanya satu, yaitu
instansiasi object
dari sebuah class. Keyword new secara detail dalam level yang paling bawah,
menyebabkan JVM akan
membuat object di dalam memory.
Method
Method adalah
sekumpulan kode yang diberi nama, untuk merujuk ke sekumpulan kode tersebut
digunakan
sebuah nama yang disebut dengan nama method. Method mempunyai parameter
sebagai input
dan nilai kembalian sebagai output. Kita bisa juga membayangkan method itu
adalah sebuah
mesin, ada input yang dibutuhkan dan output yang dihasilkan.
Deklarasai
method terdiri dari beberapa bagian, bagian pertama adalah access modifer dari
method, apakah
public, private, protected atau default. Bagian berikutnya adalah tipe
kembalian
dari method,
kalau method tidak mengembalikan apa-apa maka keyword void yang digunakan.
Bagian ketiga
adalah nama method, sesuai dengan aturan java code convention, nama method
diawali dengan
huruf kecil dan setiap kata setelahnya diawali dengan huruf besar (camel case).
Setelah nama
method ada parameter. Sebuah method bisa juga tidak mempunyai parameter,
punya satu, dua
dan seterusnya. Setelah java 5 ada feature yang disebut dengan varargs, feature
ini
memungkinkan method untuk mempunyai jumlah parameter yang bervariasi. Varargs
akan
kita bahas di
bab tentang Java 5 Language enhancement, jadi tidak akan dibahas dalam bab ini.
Bagian terakhir
dari method adalah deklarasi throws exception, dimana kita bisa
mendeklarasikan
tipe exception yang akan dithrows oleh method. Bab tentang exception akan
membahas lebih
lanjut tentang throws exception.
Nama method dan
parameter adalah pembeda antara satu method dengan method yang lainya.
Kalau dua
method namanya beda ya pasti dianggap dua buah method berbeda. Kalau dua method
namanya sama
dianggap sebagai method yang berbeda kalau parameternya berbeda, method
dengan nama
sama dan parameter berbeda ini disebut dengan overloading dalam konsep OOP.
Kalau method
mempunyai nama yang sama dan parameter yang sama tetapi tipe return atau
throws
exceptionya berbeda maka akan menyebabkan error pada waktu kompilasi. Jadi
kalau
mendefnisikan
method baru, pastikan bahwa namanya tidak sama dengan method lain atau
setidaknya
parameternya berbeda baik dari sisi jumlahnya, tipe parameter atau posisi
parameter.
Dari penjelasan
di atas, struktur method seperti di bawah ini adalah benar:
public void main(String[]
args){ }
public String
methodReturnString(){ return "ini string"; }
private void
methodBerparameter(String parameter1, Integer parameter2) {}
public void
methodThrowsException() throws IOException {}
protected String protectedMethod(Sting
parameter1, Integer parameter2)
throws IOException {
return "ini string"; }
public void
methodBerbeda() {}
public void
methodBerbeda(String parameter1) {}
public void
methodBerbeda(String parameter1, Integer parameter2) {}
public void methodBerbeda(Integer
parameter1, String parameter2) {}
public void
methodBerbeda(Double parameter1, Double parameter2) {}
Ada beberapa
keyword yang bisa ditambahkan dalam deklarasi method. Keyword yang paling
sering
digunakan adalah static. Bagian kode Java yang dideklarasikan dengan
menggunakan
static akan
menjadi anggota dari class, bukan anggota dari object, silahkan kembali ke bab
berikutnya
kalau masih belum bisa membedakan mana class dan mana object.
Karena method
yang ditandai dengan static adalah bagian dari class, maka bisa diakses
langsung dari
nama Class itu sendiri, tidak perlu membuat object. Method static hanya bisa
memanggil
method lain dalam satu class yang juga ditandai static. Method main yang biasa
kita gunakan
untuk menjalankan aplikasi java juga ditandai dengan static, misalnya kita akan
memanggil
method lain dari method static, maka method lainya ini juga harus ditandai
dengan
static. Kita lihat
contoh berikutnya :
Ada beberapa
keyword yang bisa ditambahkan dalam deklarasi method. Keyword yang paling
sering
digunakan adalah static. Bagian kode Java yang dideklarasikan dengan
menggunakan
static akan
menjadi anggota dari class, bukan anggota dari object, silahkan kembali ke bab
berikutnya
kalau masih belum bisa membedakan mana class dan mana object.
Karena method
yang ditandai dengan static adalah bagian dari class, maka bisa diakses
langsung dari
nama Class itu sendiri, tidak perlu membuat object. Method static hanya bisa
memanggil
method lain dalam satu class yang juga ditandai static. Method main yang biasa
kita gunakan
untuk menjalankan aplikasi java juga ditandai dengan static, misalnya kita akan
memanggil
method lain dari method static, maka method lainya ini juga harus ditandai
dengan
static. Kita
lihat contoh berikutnya :
public class StaticTest {
public static void
main(String[] args) {
//static method memanggil
static method lain dalam class yang sama
contohMethodStatic();
//method static juga bisa
dipanggil dari nama classnya
StaticTest.contohMethodStatic();
}
public static void
contohMethodStatic() {
System.out.println("method
static dipanggil");
}
}
Keyword lain
yang bisa digunakan oleh method adalah fnal, synchronize dan native. Keyword
fnal akan
menyebabkan method tidak bisa dioverride, kita bahas topik ini di bab OOP.
Keyword
synchronize
akan menyebabkan hanya satu thread yang bisa mengeksekusi method ini dalam
satu waktu,
kalau ada thread lain maka harus mengantri sampai thread sebelumnya selesai
menjalankan
method tersebut. Keyword native menandai implementasi method akan
diletakkan
dalam kode native, misalnya ditulis menggunakan C/C++, kemudian menggunakan
Java Native
Interface (JNI) untuk mengakses implementasi method tersebut. Topik mengenai
JNI dan native
tidak kita bahas di dalam buku ini dan diserahkan kepada anda, pembaca buku
ini, untuk
mempelajari topik advace ini dari sumber lain.
Terima kasih ^_^
Sumber : ane
lupa sumbernya yang penting dari abang Ifnu Bima, ane punya neh source materi PDF-nya ^_* https://dl.dropboxusercontent.com/u/6786897/E-Book/Java%20Desktop%20-%20Ifnu%20Bima.pdf