Senin, 12 April 2021

Pemrograman Berorientasi Objek - Polimorfisme

 

1.     Pengertian dari polimorfisme, overloading, dan overriding

-        Polimorfisme

Polimorfisme (polymorpishm) berarti banyak bentuk. Dalam pemrograman berorientasi obyek, digunakan untuk memerintah obyek agar melakukan aksi atau tindakan yang mungkin secara prinsip sama namun secara proses berbeda.

-        Overloading

Overloading adalah suatu keadaan dimana beberapa method memiliki nama yang sama namun mempunyai fungsionalitas yang berbeda. Tujuannya untuk memudahkan penggunaan/pemanggilan method dengan fungsional yang mirip. Dalam pendeklarasian overloading aturan yang digunakan yaitu nama method harus sama, daftar parameter harus berbeda, dan return type boleh sama, juga boleh berbeda.

-        Overriding

      Overriding adalah suatu keadaan subclass memodifikasi tingkah laku yang diwarisi dari   super class. Tujuannya untuk menspesifikan tingkah laku dari subclass tersebut. Overriding dilakukan dengan cara mendeklarasikan kembali method milik super class di dalam subclass. Deklarasi method pada subclass harus sama dengan yang terdapat pada di super class, yaitu kesamaan pada nama, return type, dan daftar parameter (jumlah, tipe, urutan).
 

2.     Perbedaan antara polimorfisme dengan inheritance

Inheritance adalah penurunan sifat dalam bahasa pemrograman Java yang satu dalam Pilar Dasar OOP (Object Oriented Programing), yang dalam implementasinya merupakan sebuah hubungan ”adalah bagian dari” istilah asingnya ”is a relationship” objek yang di inherit (diturunkan). Inheritance diperlukan untuk menghindari duplikasi objek baik itu field, variable maupun methode yang sebenarnya merupakan objek yang bisa diturunkan dari hanya sebuah class. Jadi Inheritance bukan sebuah Class yg di inherit oleh sebuah Literal, tetapi lebih menunjukkan ke hubungan objek itu sendiri.

Sedangkan Polimorfisme adalah suatu kemampuan dari sebuah objek untuk membolehkan mengambil beberapa bentuk yang berbeda agar tidak terjadi duplikasi objek.

Antara Penurunan Sifat (Inheritance) maupun Polimorfisme merupakan konsep yang memungkinkan digunakannya suatu interface yang sama untuk memerintah objek agar melakukan aksi atau tindakan yang mungkin secara prinsip sama namun secara proses berbeda. Perbedaan antara Polimorfisme dan Inheritance yaitu Polimorfisme mengacu pada mengubah perilaku class super di subclass. Sedangkan Inheritance mengacu pada penggunaan struktur dan perilaku class super dalan subclass.

 

3.     Perbedaan antara overloading dan overriding

Method overloading artinya method dengan nama yang sama, namun memiliki parameter yang berbeda, dan method ini berada dalam sebuah class yang sama atau bisa juga berada dalam class yang lain yang terkait dalam hirarki inheritance.

Method overriding artinya memberikan implementasi yang baru dari suatu method pada subclass, jadi method ini berada pada class yang berbeda yang terkait dalam inheritance.

Diantara kedua method tersebut terdapat beberapa perbedaan penting yang perlu diketahui, diantaranya adalah:

1)      Dalam method overloading, jumlah dan tipe parameter (termasuk urutannya) atau disebut dengan istilah method signature mengalami perubahan, sedangkan pada method overriding tidak berubah atau tetap.

 

2)      Method overloading dapat dilakukan pada class yang sama, namun overriding hanya dapat dilakukan pada subclass dengan signature yang sama dan tipe return yang sama. Sedangkan pada overloading, tipe return ini bisa sama atau berbeda.

 

3)      Method privatefinal atau static tidak bisa di overrride, namun method tersebut bisa overloading. Artinya suatu class dapat memiliki lebih dari satu method privatefinal atau static dengan nama yang sama, namun sub class tidak dapat meng-override privatefinal atau static method tersebut dari super class.

 

4)       Method overloading pada Java terikat oleh static binding sedangkan method overriding merupakan subjek dari dynamic binding.

 

5)      Metode overloading adalah polimorfisme waktu kompilasi. Metode overriding adalah polimorfisme run time.

 

6)      Overloading Ini membantu meningkatkan keterbacaan program. Sementara itu overriding digunakan untuk memberikan implementasi spesifik pada metode yang sudah tersedia oleh class induknya atau kelas super.

 

7)      Overloading ini terjadi di dalam kelas. Sementara itu overriding dilakukan dalam dua kelas dengan hubungan warisan.

 

8)      Metode overloading mungkin atau mungkin tidak memerlukan pewarisan. Sementara metode override selalu membutuhkan pewarisan.

 

9)      Dalam hal ini, metode overloading harus memiliki nama  sama dan class yang berbeda. Sementara dalam hal ini, metode overriding harus memiliki nama dan class yang sama.

 

10)  Dalam metode overloading, tipe pengembalian bisa atau tidak bisa sama, tetapi kita harus mengubah parameter. Sementara dalam overriding, tipe pengembalian harus sama atau ko-varian.

   §  Alamat web Program studi, Fakultas, Universitas : http://ti.ftik.teknokrat.ac.idhttp://ftik.teknokrat.ac.idwww.teknokrat.ac.id

§  Nama Mahasiswa : NADIYA SAFITRI 

§  NPM : 19316014

§ Kelas : Tk19B

Tidak ada komentar:

Posting Komentar

Karangan Ilmiah - Bahasa Indonesia

  1.1     Latar Belakang Metodologi merupakan suatu formula dalam penerapan penelitian dimana dalam melakukan penelitian tersebut terdapa...