Nesne Yönelimli Programlama (OOP) Nedir?

Nesne tabanlı programlama (OOP); yazılım tasarımını işlevler ve mantık yerine, veri veya nesneler etrafında düzenleyen bir programlama dili modelidir. Günümüzde yazılım geliştirme teknolojileri içerisinde büyük bir önem taşır.

Yazı İçeriği

  • Nesne Yönelimli Programlama (OOP) Nedir?
  • Nesne Yönelimli Programlamanın Faydaları
  • Sınıf Nedir?
  • Nesne Nedir?
  • OOP Özellikleri Nelerdir?
  • Soyutlama
  • Kapsülleme
  • Miras Alma 
  • Çok Biçimlilik 
  • Nesne Yönelimli Programlama Kullanan Diller

Nesne Yönelimli Programlama (OOP) Nedir?

Nesne Yönelimli Programlama (OOP) Nedir?

Object Oriented Programming yani Nesne Yönelimli Programlama, her işlevin neslek olarak soyutlandığı bir programlama şeklidir.

Bu açıklamayı daha da örnekleyerek açıklarsak, gerçek hayatta gördüğümüz birçok nesnenin bilgisayar ortamına aktarılma şeklidir. Yani bir nesnenin rengi, durumu, ismi, üretim yılı gibi birçok özelliklerin bilgisayar ortamında gösterilmesi buna örnek olarak verilebilir.

1960’lı yılların sonuna doğru ortaya çıkan bu programlama şekli, o dönemlerde yazılım dünyasının yaşadığı sıkıntının sonucudur.

Yazılımların karışıklığı ve boyutlarının artması, belirli bir nitelik düzeyini korumak için gereken maliyeti, zamanı ve çabayı arttırıyordu. OOP bu soruna karşı çözüm olarak getiren özelliği yazılımdaki birimselliği yüksek oranda benimsemesidir.

Nesne Yönelimli Programlamanın Faydaları

  • Nesne oluşturma bir sınıf içerisinde toplanır ve tüm projelerde kullanılabilirliğe olanak sağlar.
  • Sınıfların 1 kez oluşturulması sayesinde uzun kodları tekrardan yazmak yerine kısa kodlamalar ile çalıştırılabilir.
  • Uzun kodların tekrar yazılmasının engellenmesi sayesinde geliştirme süreci kısalır.
  • Nesneler birbirinden bağımsız olduğundan bilgi gizliliği konusunda avantaj sağlar.
  • Sınıflar sayesinde tüm projelerde değişiklik yapmak yerine tek bir sınıfta değişiklik yapılıp tüm projelerde çalışması sağlanır. Bu zaman kaybını büyük ölçüde azaltır.

Sınıf Nedir?

Değişkenleri ve methodları bir arada saklayan sistemdir.

Değişkenler kullanacağımız verileri örneğin ad, soyad, yaş gibi verileri saklar. Metotlar bu verilerin toplanması gibi görevleri sağlayan bir sistemdir.

Nesne Nedir? 

Verileri saklayan ve bu veriler üzerinde işlem yapan metodları saklayan bileşenlerdir. 

Nesne Yönelimli Programlamanın Özellikleri Nelerdir?

Sistemimizin birçok özelliği vardır. Bunları 4 temel özellikte inceleyebiliriz.

  • Soyutlama (Abstraction)
  • Kapsülleme (Encapsulation)
  • Miras Alma (Inheritance)
  • Çok Biçimlilik (Polymorphism)

Soyutlama (Abstraction)

Bir sınıfın özelliklerinin ve davranışlarının tanımlanmasına denir. Örneğin: Bir kişinin adı, soyadı, yaşı, boyu, kilosu, saç rengi gibi özellikleridir. Kişinin yetenekleri davranışları içerisinde yer alır ve metotlar ile saklanır.

Kapsülleme (Encapsulation)

Davranış ve özellikler sınıfta soyutlanır ve saklanır. Kapsülleme ile hangi özellik ve davranışın dışarıdan kullanılacağını belirleyebiliriz. Örneğin: Kişinin bizi ilgilendirmeyen kısımlarını private ederek yani saklayarak gizleyebiliriz. Bu olaya kapsülleme adı verilir.

  • Kapsülleme Public, Private ve Protected olarak 3 kısımda incelenir.
  • Public: Herkesin kullanabildiği özellik ve davranışlara verilen isimdir.
  • Private: Sadece kendi sınıfında kullanılan özellik ve davranışlara verilen isimdir.
  • Protected: Sınıf ve Miras Alınan alt sınıflarda kullanılmaya açık olanlara verilen isimdir.

Miras Alma 

Alt ve üst sınıfın ortak özelliklerinden alabilme sistemine Miras Alma denir. Örneğin; Bir nesneni diğer bir nesne ile ortak özelliklerindeki verileri alabilir.

Çok Biçimlilik 

Alt Sınıf ve Üst Sınıfın özelliklerinden farklı şekilde davranışlar göstermesine Çok Biçimlilik denir. Örneğin; Bir nesnenin diğer bir nesneyle ortak özellikleri olmasına rağmen farklı özelliklerininde tanımlanabilmesine denir.

Nesne Yönelimli Programlama Kullanan Diller

  • Phyton
  • C++
  • Objective-C
  • Delphi
  • Smalltalk
  • Java
  • Swift
  • C#
  • Perl
  • Ruby
  • PHP

OOP yukarıdaki tüm ögelere sahiptir ancak ADA, JavaScript, Visual Basic gibi dillerden yoksundur.

Sonuç Olarak

Nesneye yönelik programlama günümüzde mutlaka bilinmesi gereken teknolojilerden birisidir. Eğer yazılım geliştirme üzerine bir kariyer düşünüyorsanız mutlaka bu tekniği kullanan diller hakkında bilgi sahibi olmanız gerekmektedir. 

 

Kaynak

Yorumunuzu Ekleyin

Yükleniyor...