Skip to main content

Konsep OOP dan Override , Overloading Java


KONSEP OOP 

Halo Selamat Pagi,Siang,Sore , dan Malam pada blog kali ini saya akan membahas konsep OOP atau Object Oriented Programming, yaitu : 

ENKAPSULASI, INHERITANCE DAN POLIMORFISME,PACKAGE. SILAHKAN DIPELAJARI,TERIMAKASIH.


  1. Enkapsulasi
Enkapsulasi adalah pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan oleh program lain. Dalam Java, dasar enkapsulasi adalah class. Anda membuat suatu class  yang menyatakan bahwa variable atau method sebuah class  tidak dapat diakses oleh class lain dengan menjadikan class tersebut private, atau menjadikan class  tersebut protected yaitu hanya bisa diakses oleh turunannya, atau menjadikan class tersebut public yaitu bisa diakses oleh sembarang class.
Dengan melakukan enkapsulasi pada data, berarti kamu membuat data dari sistemmu lebih secure dan terpercaya. Karena kamu mengetahui bagaimana data diakses dan operasi apa yang sedang berjalan pada data. Hal ini membuat maintenance program menjadi lebih mudah. Kamu juga dapat memodifikasi metode yang digunakan untuk kerja pada data, dan jika kamu tidak merubah bagaimana metode itu diminta dan tipe response dikirim balik, maka kamu tidak dapat merubah object lain dengan menggunakan metode tersebut .
Ada dua hal yang mendasar dari enkapsulasi yaitu information hiding dan interface to access data.
  • Information hidingmaksudnya adalah menyembunyikan informasi dari suatu class agar tidak bisa diakses oleh class lainnya dengan cara memberikan modifier private pada variabel yang akan disembunyikan.
  • Interface to access datasesuai dengan namanya, digunakan untuk mengakses nilai dari suatu variabel yang telah disembunyikan oleh information hiding baik itu mengambil nilai ataupun mengubah nilai. Hal ini dilakukan dengan menggunakan method, dengan method ini kita dapat mengakses variabel yang telah mengalami information hiding.
 Enkapsulasi terbagi menjadi 3 jenis, yaitu public, protected, dan private.
  • Public Merupakan suatu modifier yang memungkinkan setiap variabel maupun method yang dideklarasikan dengan  dalam class public ini dapat diakses oleh setiap class baik dalam package yang sama maupun package yang berbeda.
  • Protected Merupakan suatu modifier  yang digunakan untuk memproteksi suatu class. Sehingga hanya class dan subclass tersebutlah yang dapat mengakses varibel maupun method dalam class tersebut, baik dalam package yang sama maupun dalam package yang berbeda.
  • Private Merupakan kata kunci yang dideklarasikan dalam suatu class agar setiap variabel dan method yang berada dalam class private ini hanya dapat diakses oleh class yang sama. Didalam bahasa pemgrograman java class yang bersifat private memproteksi agar semua variabel dan methodnya tidak dapat di akses oleh semua subclass dan non subclass di package yang sama, dan subclass dan non subclass di package yang berbeda.
Contoh:
capture.pngmain
Jika modifiernya public dan protected maka variabel tersebut dapat dipanggil pada subclassnya. Sedangkan jika modifiernya private maka variabel tersebut tidak dapat dipanggil pada subclass. Dapat terlihat variabel “namaAwal” memiliki modifier private. Jadi, pada subclass yaitu class web, variabel “namaAwal” memiliki garis bawah berwarna merah yang berarti syntax tersebut error.­­
2. Inheritance
Inheritance atau pewarisan dalam pemrograman berorientasi objek  adalah suatu teknik dimana suatu class dapat mewarisi  attribut maupun method-method yang dimilikinya pada class lain (disebut subclass).
Pewarisan adalah sifat dalam pemrograman berorientasi objek yang memungkinkan programmer untuk membuat kelas baru yang lebih spesifik ataupun di perluas dari kelas yang telah ada tanpa harus membuat ulang attribut maupun method yang sudah dideklarasikan pada class sebelumnya. (kecuali menggunakan modifier private).
Untuk menggunakan Inheritance / pewarisan, menggunakan kata kunci yaitu “extend”.
Suatu Subclass juga dapat memanggil constructor yang terdapat di superclass menggunakan kata kunci “super”. Kata kunci super juga dapat digunakan untuk merujuk pada anggota dari superclass, hal ini sama dengan penggunaan  referensi “this”.
Contoh :

Suatu Subclass juga dapat memanggil constructor yang terdapat di superclass menggunakan kata kunci “super”. Kata kunci super juga dapat digunakan untuk merujuk pada anggota dari superclass, hal ini sama dengan penggunaan  referensi “this”.
Contoh super :
2.png
Contoh turunan :
turunan.png
3. Polimorfisme (Polymorphism)
  • Polimorfisme berarti kelas-kelas yang berbeda tetapi berasal dari satu orang tua dapat mempunyai metode yang sama tetapi cara pelaksanaannya berbeda-beda. Atau dengan kata lain, suatu fungsi akan memiliki perilaku berbeda jika dilewatkan ke kelas yang berbeda-beda.
  • Polymorphism adalah suatu aksi yang memungkinkan pemrogram menyampaikan pesan tertentu keluar dari hirarki obyeknya, dimana obyek yang berbeda memberikan tanggapan/respon terhadap pesan yang sama sesuai dengan sifat masing-masing obyek.
Atau Polymorphic dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa (override), suatu method, yang berasal dari parent class (super class) dimana object tersebut diturunkan, sehingga memiliki kelakuan yang berbeda.
Overloading method adalah suatu teknik dimana didalam suatu class terdapat method dengan nama yang sama namun prilaku yang berbeda.
Aturan penulisannya :
  1. Nama Method harus sama
  2. Parameter harus berbeda
  3. Tipe Kembalian boleh sama ataupun berbeda
Contoh overloading :
3.png
Contoh Override (Menimpa Method “hitung” dari super class “overloadingMethod”):
  1. Super class :
3
2. Sub class
override
4. Package
Package adalah koleksi dari beberapa class dan interface yang saling berhubungan. Package ini sangat berguna sekali saat memiliki class yang banyak. Package membantu mengelompokan class sesuai yang diinginkan. Satu hal yang menjadi catatan saat membuat package adalah melatakan class yang memiliki package yang sama dalam satu direktori / folder, dan nama folder harus sama dengan nama package.
package.png

Overloading

Method Overloading adalah sebuah kemampuan yang membolehkan sebuah class mempunyai 2 atau lebih method dengan nama yang sama, yang membedakan adalah parameternya.
Pada method overloading perbedaan parameter mencakup :
  1. Jumlah parameter
  2. Tipe data dari parameter
  3. Urutan dari tipe data parameter
Method Overloading juga dikenal dengan sebutan Static Polymorphism. Berikut ini contoh Class yang melakukan Overloading.
public class ContohOverloading {
 public void jumlah (int a, int b){
 System.out.println("Jumlah 2 angka ="+ (a + b));
 } 
 //oveloading perbedaan jumlah parameter
 public void jumlah (int a, int b, int c){
 System.out.println("Jumlah 3 angka =" + (a + b + c));
 } 
 //overloading perbedaan tipe data parameter
 public void jumlah (double a, int b){
 System.out.println("Jumlah 2 angka (double+int) = "+ (a + b));
 } 
 //overloading perbedaan urutan tipe data parameter
 public void jumlah (int b, double a){
 System.out.println("Jumlah 2 angka (int+double) = "+ (a + b));
 }
}
Penggunaan pada class utama :
public class PenggunaanOverloading {
    public static void main(String[] args) {
        ContohOverloading co  = new ContohOverloading();        
        co.jumlah(83,32);
        co.jumlah(34,454,432);
        co.jumlah(34.43,34);
        co.jumlah(28,33.23);
    }
}

Overriding

Method overriding merupakan method yang parrent class yang ditulis kembali oleh subclass. Aturan dari method overriding pada Java :
  1. Parameter yang terdapat pada method overriding di subclass harus sama dengan parameter yang terdapat pada parent class.
  2. Aturan hak akses, hak akses method overriding di subclass tidak boleh lebih ketat di bandingkan dengan hak akses method pada parent class.
Berikut ini contoh overriding :
public class Binatang {
    public void begerak(){
        System.out.println("Binatang bergerak sesuai kemampuannya");
    }
    public void berkembangBiak(){
        System.out.println("Binatang berkembang biak sesuai kemampuannya");
    }

}
public class Mamalia extends Binatang {
    //overriding method parent class
    public void begerak(){
        System.out.println("Mamalia bergerak sebagian besar dengan kakinya");
    }    
    public void berlari(){
        System.out.println("Sebagian Mamalia dapat berlari");
    }
}
public class PenggunaanOverriding {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Binatang b = new Binatang();
        Mamalia m = new Mamalia();
        Binatang bm = new Mamalia();
        
        b.begerak();
        m.begerak();
        bm.begerak();
        bm.berkembangBiak();
    }
}
Demikian penjelasan mengenai materi dari konsep OOP dan Overloading,Overriding pada java terimakasih.
Sumber : 
Google.com
rifaputriblog.wordpress.com
onestringlab.com
codezone404.blogspot.com


Comments

Post a Comment