Javada Arayüz (Interface) ve Soyut Sınıf (Abstract Class) Kavramı

Java’da interface ve abstract class nedir? Soyutlama, çok biçimlilik ve sınıf mimarisi açısından bu yapıların farklarını ve kullanımlarını keşfedin.

Ali YILMAZ
Ali YILMAZ

Yönetici

59

Java’da Arayüz (Interface) ve Soyut Sınıf (Abstract Class) Kavramı

Java’da nesne yönelimli programlama mantığıyla geliştirilen projelerde soyutlama önemli bir rol oynar. Soyutlama; neyin yapılacağını belirtip, nasıl yapılacağını alt sınıflara bırakma prensibidir. Bu amaca hizmet eden iki temel yapı vardır: abstract class (soyut sınıf) ve interface (arayüz).

1. Soyut Sınıf (Abstract Class) Nedir?

Abstract class, eksik (soyut) metotlar ve tamamlanmış metotlar içerebilen bir sınıf türüdür. Doğrudan nesne üretilemez, ancak miras alınabilir.

Tanımı:

abstract class Sekil {
    abstract void alanHesapla();

    void bilgi() {
        System.out.println("Bu bir geometrik şekildir.");
    }
}

Kullanımı:

class Kare extends Sekil {
    int kenar = 5;

    void alanHesapla() {
        System.out.println("Alan: " + (kenar * kenar));
    }
}
public class Main {
    public static void main(String[] args) {
        Kare k = new Kare();
        k.alanHesapla();
        k.bilgi();
    }
}

2. Arayüz (Interface) Nedir?

Interface, yalnızca sabitler ve soyut metotlar içeren yapılardır. Çoklu kalıtımın Java'daki çözümüdür. Tüm metotlar varsayılan olarak public abstract kabul edilir.

Tanımı:

interface Calisabilir {
    void calis();
}

Kullanımı:

class Insan implements Calisabilir {
    public void calis() {
        System.out.println("İnsan çalışıyor.");
    }
}
public class Main {
    public static void main(String[] args) {
        Insan i = new Insan();
        i.calis();
    }
}

3. Abstract Class vs Interface Farkları

Özellik Abstract Class Interface
Değişken Değişken tanımlanabilir Sabit (public static final) tanımlanır
Metot Soyut ve somut metot içerir Sadece soyut metot (Java 8+ ile default/metot eklenebilir)
Kalıtım Sadece bir abstract class miras alınabilir Birden çok interface implement edilebilir
Nesne Oluşturma Oluşturulamaz Oluşturulamaz

4. Ne Zaman Hangisini Kullanmalı?

  • Eğer bazı davranışlar ortak olacaksa ve somut metotlara ihtiyaç varsa abstract class tercih edilir.
  • Tüm metotların dışarıdan farklı sınıflar tarafından uygulanması gerekiyorsa interface kullanılır.

Java interface ve abstract class yapıları, yazılım mimarisinde soyutlama ve esneklik sağlar. Geliştirilen sistemlerde kodun yeniden kullanılabilirliğini artırır, farklı sınıflar arası ilişkileri kurmayı kolaylaştırır. Bu yapıları doğru ve yerinde kullanmak, hem uygulama kalitesini hem de sürdürülebilirliğini doğrudan etkiler.




Paylaş

Etiketler


Yorum Yok

    Bu Yazıya Hiç Yorum Yapılmamış. İlk Yorum Yapan Sen Ol !

Yorum Yap


Instagram