Daftar Isi
Objek-Oriented Programming (OOP) atau Pemrograman Berorientasi Objek adalah paradigma pemrograman yang sangat populer, dan Java adalah bahasa pemrograman yang mengimplementasikan OOP secara sepenuhnya. Bagi pemula, memahami OOP adalah langkah penting untuk mengembangkan aplikasi yang terstruktur, dapat dipelihara, dan dapat digunakan kembali. Panduan ini akan mengenalkan konsep dasar OOP di Java dan memberikan pemahaman yang jelas untuk memulai.
baca juga : Revolusi Teknologi Modern Perpustakaan: Akses Lebih Cepat dan Mudah
Apa Itu OOP?
OOP adalah pendekatan dalam pemrograman yang berfokus pada objek, yang merupakan kombinasi dari data (atribut) dan metode (fungsi atau prosedur) yang dapat beroperasi pada data tersebut. OOP memiliki beberapa prinsip dasar yang membedakannya dari paradigma pemrograman lain, seperti prosedural.
1. Prinsip Dasar OOP
Ada empat prinsip utama dalam OOP:
- Encapsulation (Enkapsulasi): Menyembunyikan data dan hanya memberikan akses melalui metode yang telah ditentukan. Hal ini membantu dalam menjaga keamanan data. Contoh: Sebuah kelas
Mobildapat memiliki atributkecepatan, namun akses langsung ke atribut tersebut dibatasi, dan hanya bisa diubah atau dibaca melalui metodesetKecepatan()dangetKecepatan(). - Inheritance (Pewarisan): Mengizinkan suatu kelas untuk mewarisi sifat dan metode dari kelas lain. Ini memungkinkan penggunaan kembali kode dan hierarki objek. Contoh: Kelas
Kendaraanbisa memiliki kelas turunannya, sepertiMobildanMotor, yang mewarisi sifat dariKendaraan. - Polymorphism (Polimorfisme): Kemampuan untuk menggunakan objek dari tipe yang berbeda secara saling bergantian. Polimorfisme memungkinkan satu antarmuka untuk digunakan untuk banyak tipe data. Contoh: Metode
berjalan()dapat diterapkan pada objek dari kelasMobil,Motor, atau kelas lain yang memiliki implementasi metode tersebut. - Abstraction (Abstraksi): Menyembunyikan detail implementasi dan hanya menampilkan fungsionalitas penting kepada pengguna. Abstraksi dicapai melalui penggunaan kelas abstrak dan antarmuka. Contoh: Sebuah antarmuka
Pengeremmungkin hanya mendeklarasikan metoderemPengerem(), sementara implementasi rinci diberikan oleh kelas-kelas yang mengimplementasikan antarmuka ini.
2. Mengenal Kelas dan Objek di Java
Di Java, objek adalah instansi dari sebuah kelas. Sebuah kelas adalah blueprint atau template untuk membuat objek. Berikut adalah contoh kode untuk mendeklarasikan kelas dan objek:
class Mobil {
// Atribut kelas
String warna;
int kecepatan;
// Konstruktor
public Mobil(String warna, int kecepatan) {
this.warna = warna;
this.kecepatan = kecepatan;
}
// Metode kelas
public void berjalan() {
System.out.println("Mobil " + warna + " sedang berjalan dengan kecepatan " + kecepatan + " km/jam.");
}
}
public class Main {
public static void main(String[] args) {
// Membuat objek
Mobil mobilSaya = new Mobil("Merah", 100);
mobilSaya.berjalan();
}
}
Di sini, Mobil adalah kelas dengan dua atribut (warna dan kecepatan) dan satu metode (berjalan). Objek mobilSaya adalah instansi dari kelas Mobil.
3. Encapsulation (Enkapsulasi) dalam Java
Enkapsulasi mengizinkan kita untuk menyembunyikan detail implementasi dan hanya memberikan akses kepada pengguna melalui metode. Berikut adalah contoh implementasi enkapsulasi dengan getter dan setter:
baca juga : Rahasia Software Produktif: Tingkatkan Kinerja Tim Anda 10x Lipat!
class Mobil {
private String warna;
private int kecepatan;
// Getter untuk warna
public String getWarna() {
return warna;
}
// Setter untuk warna
public void setWarna(String warna) {
this.warna = warna;
}
// Getter untuk kecepatan
public int getKecepatan() {
return kecepatan;
}
// Setter untuk kecepatan
public void setKecepatan(int kecepatan) {
if (kecepatan > 0) {
this.kecepatan = kecepatan;
} else {
System.out.println("Kecepatan harus lebih dari 0");
}
}
public void berjalan() {
System.out.println("Mobil " + warna + " sedang berjalan dengan kecepatan " + kecepatan + " km/jam.");
}
}
public class Main {
public static void main(String[] args) {
Mobil mobilSaya = new Mobil();
mobilSaya.setWarna("Biru");
mobilSaya.setKecepatan(80);
mobilSaya.berjalan();
}
}
Dengan menggunakan enkapsulasi, kita menjaga agar data warna dan kecepatan hanya dapat diubah dan diakses melalui metode yang telah disediakan.
4. Inheritance (Pewarisan) di Java
Pewarisan memungkinkan kita untuk membuat kelas baru dengan menggunakan kelas yang sudah ada sebagai dasar. Kelas yang diwariskan disebut sebagai kelas induk (superclass), sedangkan kelas yang mewarisi disebut kelas turunan (subclass).
class Kendaraan {
public void bergerak() {
System.out.println("Kendaraan bergerak");
}
}
class Mobil extends Kendaraan {
@Override
public void bergerak() {
System.out.println("Mobil bergerak dengan roda");
}
}
public class Main {
public static void main(String[] args) {
Kendaraan kendaraan = new Kendaraan();
kendaraan.bergerak();
Mobil mobil = new Mobil();
mobil.bergerak();
}
}
Di sini, Mobil mewarisi metode bergerak dari kelas Kendaraan dan mengubah (override) perilakunya.
5. Polymorphism (Polimorfisme) di Java
Polimorfisme memungkinkan kita untuk menggunakan metode yang sama untuk objek dari kelas yang berbeda. Java memungkinkan kita untuk mendefinisikan metode yang memiliki nama yang sama tetapi perilaku yang berbeda di kelas yang berbeda.
class Hewan {
public void suara() {
System.out.println("Hewan membuat suara");
}
}
class Anjing extends Hewan {
@Override
public void suara() {
System.out.println("Anjing menggonggong");
}
}
class Kucing extends Hewan {
@Override
public void suara() {
System.out.println("Kucing mengeong");
}
}
public class Main {
public static void main(String[] args) {
Hewan hewan1 = new Anjing();
Hewan hewan2 = new Kucing();
hewan1.suara(); // Output: Anjing menggonggong
hewan2.suara(); // Output: Kucing mengeong
}
}
6. Abstraction (Abstraksi) di Java
Abstraksi menyembunyikan detail implementasi dan hanya menunjukkan fungsionalitas penting. Abstraksi dapat dicapai dengan menggunakan kelas abstrak dan antarmuka (interface).
abstract class Kendaraan {
public abstract void bergerak();
}
class Sepeda extends Kendaraan {
@Override
public void bergerak() {
System.out.println("Sepeda bergerak dengan mengayuh pedal");
}
}
public class Main {
public static void main(String[] args) {
Kendaraan sepeda = new Sepeda();
sepeda.bergerak();
}
}
penulis : Karlina
