Lompat ke konten Lompat ke sidebar Lompat ke footer

Return Covariant Java dan Fungsinya

Sebelum JDK 5.0, sangat tidak mungkin melakukan overriding method dengan mengubah tipe return-nya. Ketika melakukan overriding sebuah method class parent, bagian nama, tipe argumen, dan return tipe dari overriding method dalam child class harus sama dengan parent class method-nya. Overriding method sebelumnya dikatakan sebagai invariant yang berkaitan dengan return tipe.

3 Keunggulan Tipe Return Covariant pada Java
Ilustrasi Tipe Return Covariant Java


Covariant return tipe
Pada Java 5.0 dan versi selanjutnya sangat mungkin untuk memiliki return tipe yang berbeda untuk method overriding dalam child class, tetapi tipe return child menjadi sub tipe dari tipe return parent-nya. Overriding method menjadi variant sehubungan dengan return tipe tersebut.



Covariant return tipe diambil dari prinsip subtitusi Liskov.

Contoh: Berikut adalah program yang diberikan untuk memahami tipe return dengan method overriding.

// Program Java

// mendemonstrasikan tipe

// return berbeda jika tipe

// return dalam overriding

// method adalah sub tipe.

 

// Dua class digunakan untuk

// tipe return.

class A {} 

class B extends A {} 

 

class Base 

A fun() 

{System.out.println("Base"

+" fun()"); 

return new A();} 

 

class Derived extends Base 

B fun() 

{System.out.println("Derived"

+" fun()"); 

return new B();} 

 

public class Main 

{

public static void main(String args[]){ 

Base base = new Base(); 

base.fun(); 

 

Derived derived = new Derived(); 

derived.fun();}

}

Output:
Base fun()
Derived fun()

Catatan: Jika tipe return dari Base dan Derived ditukar, maka hasil dari program sebelumnya tidak akan bekerja.

Keunggulan:
  • Membantu menghindari tampilan tipe cast yang membingungkan dalam hirarki class dan membuat kode program lebih mudah dibaca, digunakan, dan dilakukan perawatan.
  • Lebih bebas untuk memiliki tipe return spesifik ketika overriding pada method.
  • Membantu antisipasi runtime ClassCastException dalam return.


Artikel ini didedikasikan kepada: Shinta Hidhayatuzzaroh Munawaroh, Tania Rosa Ristanti, Tasya Mayta Salsabella, Udhkhiyyatun Nisa, dan Valentinus Dwi Bagus Bramantya.

5 komentar untuk "Return Covariant Java dan Fungsinya"

  1. Apa yang dimaksud dengan covariant return type pada bahasa pemrograman Java?

    BalasHapus
    Balasan
    1. Tipe covariant return mengacu pada tipe return dari method overriding. Hal tersebut memungkinkan untuk mempersempit jenis return dari method yang overriding tanpa perlu mentransmisikan jenis atau memeriksa jenis pengembalian atau return. Jenis covarianet return hanya berfungsi untuk jenis reuturn non-primitif.

      Hapus
  2. Dalam pemrograman berorientasi object, jenis covariant return dari suatu method adalah salah satu yang dapat dilakukan overriding dengan jenis yang lebih sempit ketika method tersebut diganti dalam sub class. Hal ini biasanya menyiratkan bahwa tipe return dari method overriding akan menjadi subtipe dari tipe return method yang akan dilakukan overriding pada bahasa pemrograman Java.

    BalasHapus
  3. Masih belum bisa terlalu memahami fungsi dari tipe return covarian, mungkin bisa diberi contoh lain agar lebih bisa menjelaskan maksudnya.

    BalasHapus

Hubungi admin melalui Wa : +62-896-2414-6106

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -