1. abstraction(soyutlama) işlemini, bir sınıfı veya metodu soyut olarak oluşturma yöntemi olarak tanımlanan nesne yönelimli programlama tekniğinin temel yapısından birisidir. bazı zamanlarda temel class'dan türetilen classlar kendi içlerinde abstract(soyut) metotlar yazma gereği duyarlar. bir anlamda bizde buna, metotları kendi class özelliklerimize göre canlandırma işlemi de diyebiliriz.

    hemen bir örnek ile pekiştirelim;
    bir araba class'ımız olsun. bu temel classımızın da agirlik ve renk özelliklerini içerdiğini varsayalım. bu class'dan da x ve y araba classları türetilsin. ardından benzintuketimi hesaplayan bir metot ihtiyacımız olduğunu düşünelim. bu metodu araba sınıfına direk yazdığımızda x ve y arabalarının birbirlerinden farklı benzin tüketimi hesaplamaları olacağından dolayı, bu metodu ana class'a yazmak pek doğru değil. işte abstraction tam burada ihtiyacımızı görüyor. o metodumuzu soyut olarak tanımladığımızda türetilen tüm classlar, bu benzintüketimi metodunu kendi araba özelliklerine göre hesaplayabiliyor.

    biraz ders anlatır gibi bir entry olmuş, umarım anlaşılmıştır :)