15 1 0 4000 1 https://haktanbozer.com.tr 300

Soyutlama (Abstraction) Nedir?

Türkçe hali ile Soyutlama, İngilizce hali ile Abstraction, nesne yönelimli programlamada (OOP) nesne tanımlaması yapılırken, verinin kullanılmasını veya veriye erişilmesini kısıtlayan bir işlemdir. Başka bir deyişle, nesnenin program için ihtiyaç duyulan özelliklerin arka plan ayrıntıları içermeksizin ifade ediliş biçimidir. Alt sınıfların ortak özelliklerini ve işlevlerini taşıyan ancak henüz bir nesnesi olmayan bir üst sınıf oluşturmak istenirse bir soyut (abstract) üst sınıf oluşturulur. Soyutlama, bir sınıfa veya metoda temel görevlerin tanımlanması, detayların ise tanımlanmaması demektir. Temel olarak bir soruna ait çözüme giderken kullanılacak yöntemlerin, ilk etapta daha genel basit ve soyut bir tanımını yapmaktır.

 

Soyutlama kavramı sınıfın içindeki iç işleyişi dışarıdan izole etmek, yani gizlemektir. Örneğin: bilgisayarı kullanırken çoğu kullanıcı bilgisayarın iç işleyişinden haberi olmaz. Hafızanın işlemciyle haberleşmesi, işlemler arası senkronizasyon, klavyeden girilen değerlerin ekrana yansıması gibi birçok işlemin detayı kullanıcılardan gizlenmiş durumdadır. Kullanıcılar sadece bu fonksiyonları veya işlevleri bir arayüz vasıtasıyla çağırıp kullanmaktadır. İç detaylarına müdahale etmemektedir.

 

Aynı şekilde Java’da sınıflarımızı tasarlarken bazı fonksiyonların ve işlevlerin sadece sınıf içinde kalması, dış dünyada bu sınıftan nesneleri kullanan kişilerin bu iç fonksiyonları bilemelerine gerek yoktur. Örneğin: KDV tutarını hesaplayan fonksiyonun sınıf içinde kullandığı birçok başka fonksiyon olabilir. Bu fonksiyonların sınıf dışına açılmasının bir anlamı yoktur. Sadece miktarı verip o miktara göre KDV tutarını hesaplayacak bir dış fonksiyon yeterlidir. Yazılım dünyasında bu nedenle soyutlama kavramı yazılım tasarımında önemli bir kavramdır. Soyutlama yapabilmek için “abstract” anahtar kelimesi, “interface” gibi yapılar bizlere yardımcı olmaktadır.

 

Kaynakça

https://app.patika.dev/courses/oop/abstraction#:~:text=Nesne%20y%C3%B6nelimli%20programlamada%20Soyutlama%20(Abstraction,(abstract)%20%C3%BCst%20s%C4%B1n%C4%B1f%20olu%C5%9Fturulur.

https://tr.wikipedia.org/wiki/Soyutlama_(bilgisayar_bilimi)

Paylaş:
Ulam:Nedir?
Önceki Yazı
JDK Nedir?
Sıradaki Yazı
Kapsülleme (Encapsulation) Nedir?