Nesne Yönelimli Programlama Nedir?
Programlar ne işe yarar?
Sık Kullandığımız Programlar
Bilgisayar : İşletim Sistemleri, Hesap Makinası, İnternet, Ofis Uygulamaları
Cep Telefonu : El Feneri, Fotoğraf, Video, Rehber
Fotoğraf : Facebook, İnstagram, Youtube, Twitter
Oyun : Bilgisayar Oyunları, Konsol Oyunları, Sanal Gerçeklik, Solitaire
Müzik : Müzik Dinlemek, Video Çekmek, Ses Kayıt, İletişim
Hayatımızın Her Yerinde !
Programlar Problemi Çözen Araçlardır
Problemi Çözen İnsanlardır !
Programlama Dilleri
.NET, BASIC, Scala, PostScript, JavaScript, Node.js, Perl, C++, MATLAB, VBScript, Clojure, PHP, SVG, Ruby, CSS, Rails, Python, HTML, Redis, Actionscript, OWL, C#, SQL, XML, RDF, apache, MongoDB, VisualBasic, Schema, MySql, Erlang, XPath, SPARQL, XQuery
İnsan Dili -> Derleyici (Compiler) ->Bilgisayar Dili
Programlama Paradigmaları (Programing Paradigms)
Paradigma, bir bilim dalında zihinsel bir resmin, gerçekliğin algılanması, kavramsallaştırılmasını sağlayan modele denir. Programlama aleminde ise problemlere üretilen çözümlerin nasıl formül haline getirileceği ile alakalı olan temel Programlama stilidir.
Programlama paradigmaları hangi yolla çözümlere ulaştıklarının yanında hangi yolları yasakladıklarıya da bilinirler. Örneğin sadece fonksiyonel paradigmayı esas alan bir dil yan etkilerin kullanılmasını yasaklar.
A) Emirli Programlama (Imperative Programming)
1) Prosedürel Programlama (Procedural Programming)
2) Yapısal Programlama (Structured Programming)
3) Nesne Yönelimli Programlama (Object Oriented Programming)
B) Bildirimli Programlama (Declarative Programming)
1) Fonksiyonel Programlama (Functional Programming)
2) Mantıksal Programlama (Logical Programming)
Nesne Yönelimli Programlama Nedir?
Object -> Class -> Inheritance -> Polymorphism -> Abstraction -> Encapsulation
Nesne Yönelimli Programlama (Object Oriented Programming), sınıflar ve nesneler kavramına dayanan bir programlama yaklaşımıdır/paradigmasıdır. Bu yaklaşımın amacı, ihtiyaç duyulan programı daha küçük parçalara bölerek, yönetilebilir ve yeniden kullanılabilir hale getirmektir. Her küçük parçanın kendine ait özelliği, verileri vardır. Ve diğer küçük parçalara nasıl iletişim kuracağı bilgileri bulunur.
Nesneye yönelik programlama yaklaşımı, gerçek hayattan alınmış problemi çözmek üzere oluşturulacak modelin, gene gerçek hayatta var olan nesneler ve bu nesneler arasındaki ilişkilerden faydalanılarak oluşturulmasını ilke edinmiştir.
JavaScript, C++, Java ve Python dahil olmak üzere birçok nesne yönelimi programlama dili vardır.

Nesne Yönelimli Programlamanın Faydaları
* NYP, hızlı ve uygulaması kolay bir yaklaşımdır. Çünkü problemleri gerçek hayattaki işlemlere göre modeller.
* NYP, programlar için net bir yapı sağlar.
* NYP, “Don’t Repeat Yourself” yani “Kendini Tekrar Etme” ilkesini uygular ve kodun bakımını, düzenlemesini ve hatta ayıklamasını kolaylaştırır.
* NYP, daha az kod ve daha kısa geliştirme süresiyle, yeniden kullanılabilir uygulamalar oluşturmayı mümkün kılar.
* NYP, yapıya daha sonradan yeni özellikler ekleyerek genişletebilirlik sağlar.
Kaynak : Patika.dev, kodluyoruz.org, cihancalli.com.tr