Teman dari jurusan Teknik Penerbangan pernah bertanya: Apa yang membedakan Java (Object-Oriented Language) dengan C atau Pascal? Selain sintaks tentunya…
Meskipun dari Teknik Penerbangan, teman saya pernah mendapatkan kuliah pemrograman dengan bahasa Pascal. Mungkin teman saya melontarkan pertanyaan itu, setelah mendengar hype tentang Object-Oriented Programming yang rame belakangan ini. Oops, mungkin bukan sekedar hype.
Saya belum pernah benar-benar mencicipi Java (bukan kopi). Ok, pernah, tapi menggunakan Java hanya untuk get the job done
. Jadi, saya tidak tahu persis jawabannya. Saya asal jawab saja: re-use.
Diberikan jawaban tersebut, teman saya masih belum puas. Dia kemudian bilang:
Buat fungsi-fungsi di, katakanlah, suatu library. Kemudian fungsi tersebut dipakai pada program-program kita yang membutuhkannya.
See, it’s also re-use. I don’t have to write them from scratch.
#include <stdio.h>
main()
{
printf("Hello World!\n");
}
Jika program lain ingin mencetak string di standard output (layar monitor), bisa menggunakan printf juga.
Ada konsep inheritance di OOP. Tapi mungkin itu masih bisa diimplementasikan di bahasa yang tidak memiliki fitur OOP, C misalnya, meskipun dengan susah payah. Nah, mungkin bahasa dengan fitur OOP menyediakan cara yang lebih mudah untuk mengimplementasikan desain yang berorientasi objek (Object-oriented Design). Bahasa dengan fitur OOP tidak hanya memiliki scope fungsi dan module (e.g file), tetapi juga ada tambahan scope class dalam module.
Ada yang bisa menambahkan atau mengurangi atau malah mengubah jawaban di atas sehingga teman saya terpuaskan?