Papat pilare kasebut yaiku Encapsulation, Abstraction, Inheritance, lan Polymorphism. Bareng-bareng, dheweke njelaske carane OOP ngatur lan ngulang pakek kode.
| Pillar | Ide inti |
|---|
| Encapsulation | Bundel data + perilaku; sembunyikan status internal ngisor antarmuke kang dikontrol |
| Abstraction | Bukak apa sing ditindakake obyek kasebut, sembunyikan carane nindakake |
| Inheritance | Subkelas ngulang lan nglanjutake kelas induk |
| Polymorphism | Siji antarmuke, akeh implementasi kang dipilih ing runtime |
abstract class Shape { // ABSTRACTION: "what", not "how"
abstract double area(); // each shape decides its own formula
}
class Circle extends Shape { // INHERITANCE: Circle is a Shape
private double r; // ENCAPSULATION: r is private
Circle(double r) { this.r = r; }
double area() { return Math.PI * r * r; } // POLYMORPHISM: own area()
}
class Square extends Shape {
private double s;
Square(double s) { this.s = s; }
double area() { return s * s; }
}
Shape shape = new Circle(2); // POLYMORPHISM in action:
System.out.println(shape.area()); // calls Circle.area() at runtime
Iki alat, dudu tujuan. Dipeksa inheritance utawa abstraction yen ora perlu nggawe rumit. Pilih pilare sing cocog karo masalah.
Kaapat tembung kasebut yaiku kosakata bersama desain OOP — wawancara lan tinjauan kode nganggep sampeyan ngerti iki.
Saben pilare memetakan menyang kauntungan konkret: enkapsulasi nglindhungi invarians, abstraksi nyuda apa sing kudu dimangerteni, inheritance lan polymorphism ngasakke penggunaan balèn lan ekstensibilitas.