Nesne yönelimli programlamanın 4 temel prensibi nedir?

Cevap

1. Encapsulation (kapsülleme)

Veri ve onu işleyen metotlar bir arada tutulur, iç durum dışarıdan doğrudan değiştirilemez. Nesne tutarlılığını kendisi korur.

public class BankAccount {
    private BigDecimal balance = BigDecimal.ZERO;

    public void withdraw(BigDecimal amount) {
        if (amount.compareTo(balance) > 0)
            throw new IllegalStateException("Yetersiz bakiye");
        balance = balance.subtract(amount);
    }
    public BigDecimal getBalance() { return balance; }
}

2. Abstraction (soyutlama)

Karmaşık detaylar gizlenir, yalnızca gerekli arayüz sunulur. List kullanan kod onun dizi mi bağlı liste mi olduğunu bilmek zorunda değildir.

3. Inheritance (kalıtım)

Bir sınıf başka bir sınıfın özelliklerini ve davranışlarını devralır, "is-a" ilişkisi kurar: Dog extends Animal. Kod tekrarını azaltır ama sıkı bağımlılık yaratır.

4. Polymorphism (çok biçimlilik)

Aynı arayüz farklı nesnelerde farklı davranır.

List<Shape> shapes = List.of(new Circle(2), new Square(3));
for (Shape s : shapes) {
    System.out.println(s.area()); // her biri kendi area() metodunu çağırır
}
  • Runtime (overriding): alt sınıf metodu ezer, hangisinin çalışacağı çalışma zamanında belirlenir.
  • Compile-time (overloading): aynı isimli, farklı parametreli metotlar.

Kapsülleme ile soyutlama sık karıştırılır: kapsülleme veriyi korumak, soyutlama karmaşıklığı gizlemek ile ilgilidir.

  1. Clean code nedir? Yaygın code smell'ler nelerdir?OrtaOOP & Tasarım DesenleriYazılım Müh.
  2. Dependency Injection nedir? IoC container ne işe yarar?ZorOOP & Tasarım DesenleriYazılım Müh.
  3. Strategy deseni nedir? if/else zincirlerini nasıl ortadan kaldırır?OrtaOOP & Tasarım DesenleriYazılım Müh.
  4. Observer deseni nedir? Gerçek hayatta nerelerde karşımıza çıkar?OrtaOOP & Tasarım DesenleriYazılım Müh.
  5. Factory deseni nedir? Ne zaman kullanılır?OrtaOOP & Tasarım DesenleriYazılım Müh.
  6. Singleton deseni nedir? Neden bazen anti-pattern olarak görülür?ZorOOP & Tasarım DesenleriYazılım Müh.

Bu konuda başka bir soru biliyor musun?

Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.

Soru ekle