Program yazarken neden abstract sınıf ve fonksiyon kullanıyoruz? Aslında tam olarak ne anlama geliyor açıklayabilir misiniz?