BootcampHackathonHiring ChallengeTüm Etkinlikler
İş İlanlarıEğitimlerŞirketler
Nesne Yönelimli Programlama Nedir?

Nesne Yönelimli Programlama Nedir?

Temel kavramları ve özellikleriyle Nesne Yönelimli Programlama'nın gücünü keşfedeceksin! Programlama becerilerini geliştirmek için buraya göz atmayı unutma!
Techcareer.net
Techcareer.net
12.06.2023

Nesne Yönelimli Programlama Nedir?

İnsan hayatını kolaylaştıracak yönde evrilen bilimler de tıpkı insanlar gibi yeniliğe ihtiyaç duyar. Bu yenilik ihtiyacı her geçen gün yeni bakış açılarını gerekli kılar. Bilimdeki farklı bakış açıları yeni yönelimleri doğurarak insan hayatını kolaylaştıran araçlar üretmeye yardımcı olur. Bu bakış açılarını öğrenmek ve yenilerin geliştirebilmek için sistemin diline hakim olmak gerekir. "Peki, sistemin dilini ve o dile bağlı gelişen bakış açılarını nasıl öğrenebilirim?" sorusu sizin de aklınızı kurcalıyorsa, bu yazıda merakınızı giderecek cevaplar bulabilirsiniz. Programlama dillerine yeni bir bakış açısı kazandıran programlama yaklaşımlarından biri de nesne yönelimli programlamadır. En çok aratılan sorulardan biri olan "Nesne yönelimli programlama ne demek?" sorusunu yanıtlamak ise düşündüğünüz kadar zor değil.

Nesne Tabanlı Programlama Nedir? 

Nesne yönelimli programlama, orijinal adıyla object oriented programming nedir sorusuna bir çeşit paradigmadır şeklinde cevap verilebilir. Bazı yerlerde nesne tabanlı programlama nedir şeklinde de bu soruyla karşılaşmanız mümkün fakat bu adlandırmalar aynı şeyi işaret eder. Bu programlama, dış dünyadaki nesnelerin dijital ortamda somutlaştırılma işleminde kolaylık sağlayan bir yaklaşımdır. Peki, bu yaklaşımdaki "nesne" ne anlama gelmektedir? Burada, nesne olarak adlandırılan şey aslında dışarıda gördüğünüz her şey olabilir. Bir insan, bir masa, bir bardak ya da bir telefon… Bu nesnelerin nitelikleri ise onların özelliklerini oluşturur. Örneğin, bardağın kırmızı olması onun bir özelliğidir. Bu özellikleri dijital ortamda gösterebilmek için ise nesne yönelimli programlama tercih edilir. Ancak, bu tercih sırasında nesne yönelimli programlama dilleri de önem kazanmaktadır çünkü seçilen dil programlamada farklılıklar meydana getiren etmenlerden biridir. Bu yaklaşımı daha iyi anlamak için bazı kavramlara ihtiyaç duyabilirsiniz. Bu yüzden bir sonraki başlıkta bahsedilecek olan kavramlara göz atabilirsiniz.

Nesne Yönelimli Programlama Kavramları

Nesne yönelimli programlama oop nedir? sorusuna yönelik yapılan girişin ardından bu programla ilişkili önemli kavramlar şöyle sıralanabilir:

  • Sınıf: Nesnelerin bazı metotlar ile özellik aktarımı sayesinde sınıflar meydana gelir. Sınıf içerisinde değişkenler bulunur ve bu değişkenler üyesi olduğu sınıf içerisindeki bilgileri temsil ederler. Yani sınıflar nesnelerin varlığına bağlı olarak varlık kazanırlar.
     
  • Metot: Nesnenin yapabileceklerini sağlayan, nesnenin yetilerini temsil eden bir diğer bileşendir.
     
  • Nesne: Yukarıda bahsedilen bileşenleri, yani sınıfı ve metotları içinde muhafaza eden veri saklayıcıdır.
     
  • Programlama Dili: Sorunlara çözüm getirmek ve işlemleri basite indirgemek amacıyla bilgisayara, ondan beklenenleri tanıtmak için kullanılan dillerdir. Bu dillerden bazıları Java, C ve C++'dır. Örneğin, nesne tabanlı programlama Java ile etkin bir biçimde kullanılmaktadır.

 Nesne yönelimli programlama kavramları genel olarak yukarıdaki şekildeki gibidir.

Nesne Yönelimli Programlama 4 Özelliği

Nesne yönelimli programlamanın temel amacı tüm işlevlerin nesneler halinde soyutlanmasıdır. Yani talimatların bilgisayar için daha az karmaşık hale getirilmesi için kullanılan yaklaşımlardan biridir. Bu yaklaşımın çıkış noktası ise önceden kullanılan prosedürel paradigmanın geliştirilmesi ihtiyacıdır çünkü eski paradigma artık güncel sorunlar için tam olarak kapsayıcı değildir. Nesne yönelimli paradigma hangi amaçla kullanılır sorusuna yanıt olarak talimatlar kadar verilere de önem verilmesi amacıyla denilebilir. Yani bu paradigma tanımlanan işlevlerin yanı sıra modellenen nesneyi de öne çıkararak geniş bir modelleme ve aktarım olanaklılığı sunar. Bu modelleme yönteminin özünde ise 4 temel özellik bulunur. Nesne yönelimli bir paradigmanın belirleyici özelliği, bahsedilecek olan özelliklerin bir arada bulunmasıdır. Nesne yönelimli programlama 4 özelliği şöyle sıralanabilir:

  • Soyutlama: Soyutlama, temele alınan ve nesnenin işlevlerine dikkat çeken verilerin tanımlanması olarak açıklanabilir. Sınıfta yer alan özellikler ve davranışlar soyutlanarak bir çıktı haline gelir. Bu çıktı ise nesne yönelimli olur çünkü burada odaklanılan şey talimat değil, tanımlanan verilerin oluşturduğu bağımsız çıktıdır. Yani bir mikseri soyutlamak için o mikserin rengi, modeli, gücü gibi özelliklere ve yapabildiklerine yani davranışlarına ihtiyaç duyulur. Bu modüller birbirinden bağımsız var olabilen fakat bütünü oluşturmak için etkileşim halinde olan bileşenlerdir.
     
  • Kapsülleme: Kapsülleme, belirli bilgilerin dışarıdan görünmesini engellemeyi sağlar ve nesnenin kontrolünü kolaylaştırır. İstemci, verilere yalnızca erişimi sağlanan işlevler sayesinde ulaşabilir. Bu da nesneyi bütünsel olarak ele almayı ve istenilen dahili bilgileri saklayabilme olanağı verir. Kapsülleme aslında koruyucu bir birimdir ve bütünü olası tehditlere karşı korur.
     
  • Miras: Kalıtım ya da miras olarak adlandırılan bu özellik adına uygun olarak kalıtımı sağlar. Yani, bir nesne için oluşturulan özellikler başka nesnelere de miras bırakılabilir, aktarılabilir özelliktedir. Sınıflar arası özellik kalıtımı sağlayan bu özellik aktarıldığı sınıf için bir zemin görevi görür. Yani özellik miras alan sınıf kendi özelliklerine ek olarak aktarım yapılan sınıfın özellik ve metotlarına sahip olur. Böylece, kod yeniden kullanılabilir fakat tekrar sayısı azalır ve iş yükü hafifler.
     
  • Çok Biçimlilik: Nesne yönelimli programlama prensipleri arasında en işlevsel olan özelliklerden biri çok biçimliliktir. Bu özellik, tıpkı kapsülleme gibi koruma işlevi olan bir özelliktir. Pek çok biçimde görülebilen nesne, ait olduğu sınıf içerisinde özelleştirilebilir ve farklı uygulama alanlarında kullanılabilir. Ancak, istemcinin arka plandaki biçimleri görmesi zorunlu değildir. Örneğin, terlik ve ayakkabı giyilebilen nesnelerdir fakat biçimleri ve dolayısıyla kullanım alanları farklılık gösterir. Yani, arka planda biçimsel farklar çalışırken görünürde yalnızca giyilebilir nesne bütünü sunulabilir.

Nesne Yönelimli Programlama Örnekleri

Nesne yönelimli programlama örnekleri oluşturabilmek için programlama dilleri gereklidir. Diller aracılığıyla standartlar belirlenebilir, talimatlar tek tip yapılabilir ve belirli bir problemi çözmek için tasarlanan yollar ifade edilebilir. Bu ifade etme ise nesne yönelimli olduğunda, nesne yönelimli programlama adını alır. Öyleyse, programlama dilleri ve programlama paradigması arasındaki ilişkiyi daha iyi görmek için aşağıdaki örneklerden yararlanabilirsiniz.

  • C Nesne Tabanlı Programlama: Bu dili kullanarak pek çok proje geliştirmeniz mümkün. Oyun ve çeşitli uygulamalar için oldukça işlevseldir. C nesne tabanlı programlama için yukarıda bahsedilen kavramlardan yararlanmak gerekiyor. Örneğin, c dili ile bir oyun karakteri yaratıldığı varsayılırsa çıktı girilen özelliklere bağlı olarak şu şekilde görünebilir:

Character John crying 
Character John smiling

Yani, oluşturulan 'karakter sınıfı' içerisinde tanımlanan nesneler öne çıkan veriler olarak sunulur.

  • Nesne Yönelimli Programlama C++: Bu dil ile de nesne yönelimli programlama yapmak mümkündür. Bu örnek daha detaylı ele alınacaktır. Yukarıdakine benzer bir örnek nesne yönelimli programlama c++ için şöyle kullanacaktır:

Character.h dosyası:
class Character

Public

Character ( );
~Character ( );

std: : string name:
Virtual void smile (int Opinion);

Private 
const int own_opinion =
void cry (int opinion)

Person.ccp dosyası:
#include "character.h"

//private function
void Character: : cry (int Opinion)
{
if (own_opinion ! = Opinion)
std: : cout << "character" << name << "smile" << std: :endl ;
}

//public function
void Character: : cry (int Opinion)
{

wait (Opinion) ;
std: :cout << "character" << name << "waiting" << endl;

  • Bu aşamaya kadar iki adet oyun karakterinin fonksiyonları tanımlandı. Yani, sınıf ve içindeki nesneler ayrıntılı olarak kodlandı. Şimdi ise bu nesnenin kullanım adımı gösterilecektir.

Nesne Kullanımı: 
#include "character.h"

int main ( )
{

Character character1;
Character character2;

character1. name = "John" ;
character2. name = "Katy" ;

character1.smile (1) ;
character2.smile (2) ;

return 0;

Artık oyun karakterleri gülme verisini işleyebilir, yani nesne kullanılabilir durumdadır.


Sonuç: Bu yazıda, nesne yönelimli programlama OOP hakkında önemli bilgilere yer verildi. Programlamanın anlamı, amacı, önemli kavramları ve prensiplerinden bahsedildi. Son olarak ise programlama dillerinden en çok kullanılanlar ile örnekler oluşturularak teorik bilgi somutlaştırıldı.

 


Daha Fazla

Techcareer.net Komünite Bülteni: Eylül 2024

Techcareer.net Komünite Bülteni: Eylül 2024

Eylül ayında Techcareer.net olarak çok heyecan verici etkinlikler ve gelişmeler yaşadık. İşte bu ayın öne çıkanları!
30.09.2024
3 Dakika

TECHCAREER

Hakkımızda
techcareer.net
Türkiye’nin teknoloji kariyeri platformu

SOSYAL MEDYA

LinkedinTwitterInstagramYoutubeFacebook

tr


en

Tüm hakları saklıdır
© Copyright 2024
support@techcareer.net
İşkur logo

Kariyer.net Elektronik Yayıncılık ve İletişim Hizmetleri A.Ş. Özel İstihdam Bürosu olarak 31/08/2024 – 30/08/2027 tarihleri arasında faaliyette bulunmak üzere, Türkiye İş Kurumu tarafından 26/07/2024 tarih ve 16398069 sayılı karar uyarınca 170 nolu belge ile faaliyet göstermektedir. 4904 sayılı kanun uyarınca iş arayanlardan ücret alınmayacak ve menfaat temin edilmeyecektir. Şikayetleriniz için aşağıdaki telefon numaralarına başvurabilirsiniz. Türkiye İş Kurumu İstanbul İl Müdürlüğü: 0212 249 29 87 Türkiye iş Kurumu İstanbul Çalışma ve İş Kurumu Ümraniye Hizmet Merkezi : 0216 523 90 26