Java OOP
Java OOP
Apa itu OOP? OOP atau (Object Oriented Programming) adalah suatu paradigma
dalam pemrograman yang berbasis pada obyek. OOP terinsiprasi dari model yang telah
ada di kehidupan sehari-hari. Contoh saja seperti mobil, mobil merupakan suatu objek.
Mobil terbentuk dari beberapa objek yang lebih kecil seperti roda, body, mesin dll.
Objek yang terdapat pada mobil saling berhubungan, berinteraksi dan berkomunikasi.
Melalui konsep di atas, OOP diciptakan untuk mempermudah pengembangan program
dengan cara mengikuti pendekatan model objek yang telah ada dikehidupan sehari-hari.
Bagi yang ingin mempelajari bahasa pemrograman Java tentunya harus memahami
konsep OOP, karena pemrograman Java didesain dengan menerapkan konsep OOP.
Berikut ini adalah beberapa istilah yang sering digunakan dalam konsep OOP.
Class
Class merupakan bagian dari turunan obyek yang berfungsi sebagai wadah atau cetakan
untuk mendeskripsikan behavior/state yang didukung obyeknya. Behavior adalah
tingkah laku yang dapat dilakukan oleh obyek. Behavior adalah kelakuan atau sifat dari
obyek, misalnya lampu bisa dimatikan atau dinyalakan. State adalah kondisi atau
keadaan yang bisa terjadi pada obyek misalnya lampu dapat memiliki state nyala atau
mati.
Di kehidupan nyata kita mungkin sering menemukan banyak obyek, akan tetapi
beberapa di antaranya memiliki kemiripan. Mungkin ada banyak kucing yang ada di
dunia ini. Semua sama-sama memiliki bentuk yang sama. Bila diperhatikan ada banyak
jenis kucing, mulai dari warna, bentuk hingga ras. Dalam aturan orientasi obyek, dapat
dikatakan bahwa jenis, warna dan ras kucing di seluruh belahan dunia ini adalah sebuah
kelas instance dari obyek yang dikenali sebagai kucing.
Constructor
Constructor adalah method yang secara default sudah terbentuk ketika kelas dibuat.
Ketika suatu kelas dibuat (instansiasi) maka konstruktor akan terpanggil juga.
Constructor harus memiliki nama yang sama dengan nama kelasnya. Lalu apa
kegunaan Constructor?
1. package com.dicoding.javafundamental.kelas;
2.
3. public class KucingAnggora {
4.
5. //ini adalah contoh no-argument constructor
6. public KucingAnggora() {
7.
8. }
9. }
1. package com.dicoding.javafundamental.kelas;
2.
3. public class KucingAnggora {
4.
5. String nama_kucing;
6. int berat_badan;
7.
8. //ini adalah contoh parameterized constructor
9. //dengan memberikan nilai awal data member nama_kucing dan
berat_badan
10. //dengan parameter yang kita tentukan
11. public KucingAnggora(String nama, int berat) {
12. nama_kucing = nama;
13. berat_badan = berat;
14. }
15. }
Object
Dalam paradigma OOP, obyek merupakan instance atau wujud nyata dari suatu kelas.
Pemahaman mengenai obyek tidak kalah pentingnya pada konsep pemrograman
berorientasi obyek. Salah satu kegunaan obyek adalah untuk mengakses berbagai
fungsi dan metode pada kelas. Obyek bisa dibuat lebih dari satu.
Menciptakan Obyek
Karena obyek merupakan instansiasi dari kelas, untuk menciptakan suatu obyek kita
perlu mendeklarasikan tiap obyek yang dibuat dengan mengikutsertakan kelasnya.
Pada Java untuk membuat sebuah obyek terdapat 3 tahap :
Declaration : mendeklarasikan nama sebuah obyek
Instantiation : memerlukan sebuah perintah new untuk menciptakan obyek
Initialization : inisialisasi dari sebuah obyek setelah perintah new
Pada contoh berikut kita praktikkan cara menciptakan suatu obyek secara sederhana di
dalam satu kelas.
1. package com.dicoding.javafundamental.obyek;
2.
3. public class Hewan {
4. public void cetakNama(String nama) {
5. System.out.println("Nama hewan: " + nama);
6. }
7. }
4.
Setelah itu, buatlah kelas baru dengan nama Main dan masukkan kode berikut
di dalamnya:
5.
6.
1. public class Main {
2. public static void main(String[] args) {
3. // menciptakan object dengan nama 'obyekHewan'
4. Hewan obyekHewan = new Hewan();
5. obyekHewan.cetakNama("Elang");
6. }
7. }
8.
Nah, sampai di sini apakah Anda sudah paham ? Jika belum mari kita bahas
kodenya secara jelas.
9.
Pada kode selanjutnya kita menciptakan suatu obyek dengan perintah new.
Sedangkan obyekHewanmerupakan nama dari obyek yang kita buat.
Untuk memanggil sebuah metode di dalam suatu kelas, kita dapat menggunakan (.)
(titik).
. obyekNama.cetakNama("Elang");
Sampai di sini, kita telah mengerti bagaimana membuat obyek secara sederhana. Tahap
selanjutnya kita akan mencoba membuat obyek pada sebuah kelas yang lebih
kompleks.
Selanjutnya kita akan coba menggunakan obyek yang ada di kelas Hewan.
1. package com.dicoding.javafundamental.obyek;
2.
3. public class Hewan {
4. String nama;
5. int berat;
6. int jumlahKaki;
7.
8. // Ini merupakan konstruktor dari kelas hewan. konstruktor adalah method yang
pertama kali dijalankan ketika object diciptakan.
9. public Hewan(String namaHewan) {
10. nama = namaHewan;
11. }
12.
13. public void beratHewan(int beratHewan) {
14. berat = beratHewan;
15. }
16.
17. public void jumlahKakiHewan(int jumlahKakiHewan) {
18. jumlahKaki = jumlahKakiHewan;
19. }
20.
21. public void cetakHewan() {
22. System.out.println("Nama hewan : " + nama);
23. System.out.println("Berat hewan : " + berat + " kg");
24. System.out.println("Jumlah kaki: " + jumlahKaki);
25. }
26. }
Kelas Hewan memliki beberapa atribut, seperti nama, berat dan jumlah kaki.
Masing-masing dari atribut tersebut kita berikan parameter dengan membuat
method.
1. package com.dicoding.javafundamental.obyek;
2.
3. public class Main {
4. public static void main(String[] args) {
5. Hewan Elang = new Hewan("Elang");
6. Hewan Kucing = new Hewan("Kucing");
7.
8. Elang.beratHewan(5);
9. Elang.jumlahKakiHewan(2);
10. Elang.cetakHewan();
11.
12. Kucing.beratHewan(2);
13. Kucing.jumlahKakiHewan(4);
14. Kucing.cetakHewan();
15. }
16. }
7.
Kini kita telah memahami cara membuat kelas dan menginstansiasinya pada Java. Ada
yang perlu kita tekankan dalam bab ini . Dalam sebuah kelas kita bisa menciptakan
beberapa obyek. Dengan menggunakan obyek kita dapat mengeksekusi baik metode
maupun fungsi yang beraneka ragam, yang dipakai dalam sebuah kelas.