Mempelajari konsep Objek oriented tidak berarti semata-mata mempelajari bahasa pemrogramannya saja. Idealnya, dengan memahami konsep Object Ortiented, maka bahasa apapun dapat dijadikan tools untuk memperjelas konsep tersebut. Adakalah, kita langsung mempraktekkan bahasa pemrograman, tanpa memahami konsep OO yang terkadung di dalamnya. Tulisan beriku tini merangkum kembali konsep OO yang harus dikuasai dengan baik oleh seorang pemrogram.

Terdapat 5 materi besar dalam mempelajari Pemrograman Beroientasi Objek. Yaitu:

  1. Kelas dan Objek
  2. Interaksi antar Objek
  3. Relasi antar Objek
  4. Collection
  5. Advance topics:
    1. Abstract dan Interface
    2. Polimorphism
    3. Static dan Final 

Menurut Grady Booch, objek adalah benda; yang memiliki id, state, dan behavior. State adalah kumpulan value untuk setiap atribut yang menempel pada objek tersebut. Sedangkan behavior menunjukkan perilaku objek, direpresentasikan dengan metode/fungsi yang dapat mengubah state. Sebagai contoh, kelas Student/Mahasiswa adalah objek. Mahasiswa memilik atribut nama dan nomor induk serta IPK. Mahasiswa memiliki perilaku belajar agar value dari IPK dapat berubah.

minions

Kelas digambarkan sebagai template atau cetak biru dari sebuah objek. Kelas menggambarkan struktur dari sebuah objek. Template atau cetak biru ini menjadi dasar pembuatan objek. Objek yang berasal dari Kelas yang sama, akan memiliki atribut dan metode/fungsi yang sama. DIkatakan bahwa objek adalah instansiasi dari Kelas.

Mengacu ke notasi Unified Modeling Language (UML), kelas digambarkan dalam bentuk diagram sebagai berikut. Terdiri dari 3 area. Area pertama menunjukkan Nama Kelas, area kedua menunjukkan kumpulan atribut, dan area ketiga menunjukkan kumpulan metode/fungsi

KelasMahasiswa

Kelas Mahasiswa, notasi UM
L

Berdasarkan digram kelas tersebut, kita dapat melakukan pemrograman dengan bahasa Java sebagai berikut:

public class Mahasiswa {

String nama;
String nim;
Double ipk;

}

Sedangkan di bahasa PHP, didapat kode sebagai berikut:

class Mahasiswa {

private $nama;
private $nim;
private $ipk;

}

Sedangkan dalam bahasa Pyhton:

class Mahasiswa:

nama = “”
nim = “”
ipk = 0