Skip to content

Introduction to Object-Oriented Programming

Object-oriented programming, kepanjangan dari OOP, adalah sebuah paradigma yang dikembangkan untuk menggantikan "Structured" atau teknik procedural programming yang dikembangkan pada tahun 1970-an.

OOP dibuat oleh objek-objek. Setiap objek memiliki fungsinya masing-masing, dapat dijangkau oleh pengguna, dan implementasi yang tersembunyi. Banyak dari objek yang akan kita kerjakan pada sebuah projek berasal dari library (Pustaka luar) atau objek yang kita buat sendiri.

Tranditonal structured programming terdiri dari kumpulan desin algoritma untuk menyelesaikan masalah. Ketika algoritma telah ditetapkan, selanjuta cara tradisional tersebut adalah mencari cara yang benar untuk menyimpan data. Dapat disimpulkan dari cara tradisional tersebut, pertama algoritma dahulu dan struktur data selanjutnya. Jadi programmer tua jaman dahulu membuat algoritma untuk memanipulasi data selanjutnya menetapkan struktur data agar manipulasi data menjadi lebih mudah. OOP bekerja sebaliknya, masukan data terlebih dahulu, selanjutnya algoritma untuk mengoperasikan data.

Classes

Sebuah Class menentukan bagaimana objek terbuat. Ketika kita meng _construct__ sebuah objek dari sebuah class, dapat dikatakan seperti membuat instance dari sebuah class

Sebagaimana yg telah kita lihat, semua kode yang kita tulis didalam java, semuanya berada didalam class. Standard java library menyediakan beberapa class untuk fungsi yang berbeda-beda seperti dates, calenders, dan network. Akan tetapi tidak membatasi pengguna java, dimana kita juga dapat membuat class sendiri.

Encapsulation (terkadang disebut dengan hidding, menyembunyikan) adala sebuah konspe utama dalam berkerja dengan objek. Umumnya, encapsulation adalah mengkombinasikan data dan behavior dapa satu package dan menyembunyikan detail implementasi dari user objek tersebut. Bits dari data didalam sebuah objek disebut dengan isntance field dan procedur untuk mengoperasika data disebut dengan Method.

Kunci dalam membuat encapsulation yang efektif adalah hindari memliki method yang secara langsung dapat mengakses instance field dialam sebuah class, keculai class tersebut yang bebas dalam mengakses instance class itu sendiri. Progmram seharusnya hanya dapat berinteraksi dengan data pada objek tersebut melalui method pada object itu sendiri.

Selain itu, kita juga dapat membuat class yang menurunkan extending class lainya. Java, faktanya, memliki cosmic Superclass disebut dengan Object. InsyaAllah kita akan mempelajari class tersbut pada catatan ini.

Ketika kita extend sebuah class, class baru tersebut akan memliki semua properties dan method dari class yang diturukan tersebut. Selanjutnya kita dapat membuat method dan instance sendiri pada class baru. Konsep penurunan sebuah class untuk menurunkan properties dan method class tersebut disebut dengan Inheritance.

Objects

Untuk bekerja dengan OOP, kita harus dapat mengidentifikasi tiga krakateristik dari objek.

  1. Behavior dapat disebut juga dengan method.
  2. State, bagaimana objek bereaksi ketika kita menjalankan method atau behavior.
  3. Bagaimana objek dibedakan dari objek lain yang memiliki state dan behavior yang sama.

Semua objek yang berasal dari class yang sama akan berbagi method yang sejenis. Behavior dari sebuah objek terdefinisi dari method yang di panggil. Selanjutnya, setiap objek menyimpan informasi atau data, penampungan tersebut disebut dengan state atau properties. Best Practice nya, perubahan properties seharusnya terjadi pada method yang di panggil pada objek tersebut.

Yaeng perlu diingat, umumnya, properties pada objek terpisah dengan objek lainnya, kecuali properties yang di tetapkan menjadi static.