Nesne Yönelimli Programlama Nedir?
Nesne Yönelimli Programlama (OOP), gerçek dünya varlıklarını nesne olarak modellemeye dayanan bir programlama paradigmasıdır. Java, başından beri OOP odaklı tasarlanmış bir dildir ve bu paradigmayı destekleyen güçlü bir altyapıya sahiptir. OOP; kod tekrarını azaltır, bakımı kolaylaştırır ve büyük ölçekli projeleri yönetilebilir hale getirir.
Sınıf ve Nesne
// Sınıf tanımı (şablon)
public class Araba {
private String marka;
private int hiz;
public Araba(String marka) { this.marka = marka; }
public void hizlan(int miktar) { this.hiz += miktar; }
public String getMarka() { return marka; }
}
// Nesne oluşturma (örnek)
Araba benim = new Araba("Toyota");
benim.hizlan(60);
OOP'nin Dört Temel Prensibi
- Kapsülleme (Encapsulation): Veriyi private yaparak dışarıya getter/setter üzerinden kontrollü erişim. İç implementasyon gizlenir.
- Kalıtım (Inheritance): Bir sınıf başka sınıfın özelliklerini devralır. Kod tekrarını azaltır.
extendsile uygulanır. - Polimorfizm (Polymorphism): Aynı mesajın farklı nesnelerde farklı davranış sergilemesi. Method overriding ve overloading.
- Soyutlama (Abstraction): Karmaşık detayları gizleyerek sadece önemli özellikleri gösterme. Abstract class ve interface ile sağlanır.
Interface ve Abstract Class
// Interface - sözleşme tanımı
public interface Ucabilir {
void uc();
default String tanim() { return "Ucabilen varlik"; }
}
// Abstract class - kısmi implementasyon
public abstract class Hayvan {
protected String ad;
public abstract void sesCikar();
public void tanit() { System.out.println("Ben: " + ad); }
}
SOLID Prensipleri
OOP'de kod kalitesini artıran SOLID prensipleri Java projelerinde standart kabul edilir:
- Single Responsibility: Bir sınıfın tek sorumluluğu olmalı.
- Open/Closed: Genişlemeye açık, değişime kapalı.
- Liskov Substitution: Alt sınıf üst sınıfın yerine geçebilmeli.
- Interface Segregation: İnce, özel amaçlı interface'ler tercih edilmeli.
- Dependency Inversion: Soyutlamalara bağımlı ol, somut sınıflara değil.
Bilkey Java Programlama Kursu
Bilkey Bilişim Akademisi Java Programlama Kursu'nda OOP temelleri, SOLID prensipleri, koleksiyonlar ve Spring Boot konuları uygulamalı olarak öğretilmektedir. Kurtköy merkezimizde Java ile yazılım kariyerinizi inşa edin. 0216 354 7979