Langsung ke konten utama

Iklan





Java Bukan Pemrograman Berorientasi Objek Murni

Object oriented programming atau pemrograman berorientasi objek murni adalah bahasa pemrograman yang mendukung atau memiliki fitur yang memperlakukan segala yang ada dalam program sebagai sebuah object. Bahasa tersebut tidak mendukung tipe data primitif seperti int, char, float, bool, dan lain sebagainya. Ada beberapa persyaratan yang harus dipenuhi agar sebuah bahasa pemrograman menjadi OOP murni. Yaitu:

  1. Enkapsulasi atau data hiding
  2. Inheritance
  3. Polymorphism
  4. Abstraksi
  5. Semua tipe data predefinisi adalah object
  6. Semupa tipe definisi user adalah object
  7. Semua operasi yang ditampilkan dalam object harus melalui method yang diekspos pada object

Java Tidak Murni Bahasa Pemrograman Berorientasi Objek
Java hanya mendukung beberapa persyaratan yaitu syarat 1, 2, 3, 4, dan 6 tetapi tidak mendukung syarat 5 dan 7 seperti yang telah dijelaskan sebelumnya. Bahasa Java juga tidak murni bahasa pemrograman berorientasi objek karena mengandung beberapa hal berikut ini:

satu, Tipe data primitif seperti int, long, bool, float, char, dan lain sebagainya adalah object. Smalltalk adalah OOP murni tidak seperti Java dan C++ yang tidak memiliki perbedaan antara nilai object dan nilai tipe data primitif. Pada Smalltalk, nilai primitif seperti integer, boolean, dan character adalah berupa object. Pada Java, dimiliki tipe predefinisi yang berupa non-object untuk tipe primitif, seperti berikut:

int a = 5;
System.out.print(a);

dua, keyword static: Ketika mendeklarasikan sebuah class sebagai static maka class tersebut dapat digunakan tanpa object pada Java. Jika digunakan fungsi static atau variabel static maka hal tersebut tidak bisa disebut sebagai fungsi atau variabel yang menggunakan dot (.) atau object class yang mendefinisikan fitur berorientasi object.

tiga, Wrapper class: class wrapper menyediakan mekanisme untuk mengkonversi tipe data primitif menjadi object dan sebaliknya. Pada Java, dapat digunakan Integer, Float, dan lain sebagainya sebagai pengganti dari int, float, dan lain sebagainya. Dapat juga dilakukan komunikasi dengan object tanpa pemanggilan method-nya. Contoh, penggunaan operator aritmatik pada program Java.

String s1 = "ABC" + "A" ;

Bahkan dengan menggunakan wrapper class tidak akan membuat Java menjadi bahasa pemrograman yang murni OOP, secara internal dapat digunakan operasi seperti Unboxing dan Autoboxing.

public class BoxingExample

{

public static void main(String[] args)

{Integer i = new Integer(10);

Integer j = new Integer(20);

Integer k = new Integer(i.intValue() + j.intValue());

System.out.println("Output: "

+ k);}

}

Pada kode program sebelumnya, terdapat dua permasalahan dimana Java gagal bekerja secara murni OOP, yaitu:
  • satu, Ketika menciptakan class Integer yang menggunakan tipe data primitif "int" yaitu angka 10, dan 20.
  • dua, Ketika melakukan penambahan, Java menggunakan tipe data "int".


Iklan

Komentar

  1. Kenap Java tidak murni OOP?

    BalasHapus
    Balasan
    1. Java adalah bahasa pemrograman yang tidak sepenuhnya OOP karena masih mendukung penggunaan tipe data primitif seperti byte, long, dan lain sebagainya yang bukan berupakan bagian dari object dan Semua operasi yang dilakukan di Java melalui method yang diekspos pada object.

      Hapus
  2. Apa yang dimaksud dengan OOP?

    BalasHapus
    Balasan
    1. OOP adalah singkatan dari Object Oriented Programming. OOP adalah bahasa pemrograman yang berorientasi Object yang berkaitan dengan cara membuat object yang berisi data dan fungsi pada suatu program.

      Hapus
  3. Apa OOP bagus atau tidak bagi pemrograman komputer?

    BalasHapus
    Balasan
    1. OOP merangkum data secara default, dimana data tersebut berisi object data dan method yang memengaruhi data itu sendiri. Bentuk praktik OOP yang baik berarti user menyediakan method pengambil dan pengatur untuk mengontrol akses ke data tersebut.

      Hapus

Posting Komentar

Respon komentar 7 x 24 jam, so please be patient :D