İlginizi Çekebilir
Java'da OOP Kavramını Öğreniyoruz.
  1. Ana Sayfa
  2. Java
  3. Java OOP Nedir?
Trendlerdeki Yazı

Java OOP Nedir?

Bu yazımda kafa patlatacağımız ve bizi biraz yoracak Java OOP kavramını tanıyacağız. Bu tanıma işleminde Java OOP Nedir, bizleri neler bekliyor gibi sorulara cevaplar arayacağız.

Java OOP Nedir?

OOP kavramını açarak tanımlayacak olursam Object Oriented Programming (OOP) yani Nesneye yönelik programlama (NYP) şeklinde tanımlayabilirim. Java OOP, yazılım içerisindeki karmaşıklığı ortadan kaldırabilmek için 1960’lı yılların sonlarında ortaya çıkan bir yaklaşım türüdür. Yazılım içerisinde, Nesneye yönelik programlama ile yazdığımız programlarımızı daha rahat kontrol edebilir hale geldik. Geniş çaplı programlarda ortaya çıkan bir hata sonucunda hatayı tetikleyen kod bloğunu, programı parçalara böldüğümüz için daha rahat bulabilir hale geldik.

Bu açıklamayı biraz daha açıp örneklersem, gerçek hayat üzerinde gözlemlediğimiz birçok nesne bulunmaktadır bu nesnelerin bilgisayar ortamına aktarılma şeklidir. Yani bir nesnenin ismi, rengi, üretim yılı gibi tüm özelliklerini bilgisayar ortamında gözlemleyebilmemiz örnek olarak verilebilir.

Java OOP Faydaları

  • Nesneye yönelik programlama ile oluşturulan nesneler bir sınıf içerisinde toplanır ve tüm projelerimizde kullanabilme olanağı sağlar.
  • Oluşturmuş olduğumuz sınıfların bir kez oluşturulması sayesinde tekrar eden spagetti kod dizileri yazmak yerine kısa kodlamalar ile çalışabiliriz.
  • Program oluşturma süreci kısalır ve programın performansı artar.
  • Oluşturmuş olduğumuz nesneler birbirinden bağımsız olduğundan dolayı bilgi gizliliği oluşur.
  • OOP ile oluşturulan projelerin temelinde değişiklik gerçekleştirirken tek bir sınıfta değişiklik yapıp tüm proje içerisinde çalışması sağlanır.

Aslında nesneye yönelik programlamanın temelinde hiyerarşi sistemi yatar. Bu sistemi de sınıflar ve nesneler meydana getirir. Bu kavramı anlamlandırabilmek için bir işyeri düşünelim. Java OOP kavramına göre bu işyeri sınıfa karşılık gelir. Bu işyerinde bulunan her bir çalışan ise bir nesneye karşılık gelir. Bu iş yerinde bulunan her bir çalışanın diğer çalışanlar ile etkileşim içerisinde bulunması ve organize çalışması sonucunda ise nesneye yönelik programlama kavramı ortaya çıkar.

Sınıf ve nesne kavramlarına bir sonraki konumuzda daha detaylı değineceğim fakat şimdilik bilmeniz gereken şey iki ögenin de ayrılmaz bir ikili olduğudur. Eğer Java Nesne ve Sınıf Kavramları hakkında paylaştığım konu anlatımı içeriğine isterseniz emrecelen.com.tr/java-nesne-ve-sinif-kavramlari/ bu adresten ulaşabilirsiniz.

Java'da Nesne Tabanlı Programlama Özellikleri
Java OOP Özellikleri

Java OOP Özellikleri Nelerdir?

Sınıflar ve nesne kavramı gibi bu özelliklere de sonra teker teker değinecek olsamda temel özellikleri şu şekildedir;

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

Java OOP temel özellikleri konusunda biraz bilgi sahibi olmamız adına sizlere kısa tanımlar paylaşacağım.

Soyutlama (Abstraction)

Nesneye yönelik programlama konusunda en önemli kavram ve karışık kavram soyutlamadır. Büyük ve detaylı oluşturulan program içerisinde birçok sistem parçası ile mesajlaşarak çalışmaktadır. Bu çalışma prensiplerini Abstraction konumuzun anlatımını yapacağım Java Abstract Class Nedir sorusu hakkında paylaştığım konu anlatımı içeriğine isterseniz emrecelen.com.tr/java-abstract-class-nedir/ bu adresten ulaşabilirsiniz.

Java OOP Kapsülleme Mantığı
Java’da Erişim Seviyeleri

Kapsülleme (Encapsulation)

Davranış ve özellikler sınıf içerisinde soyutlanır ve saklanır. Kapsülleme kullanarak hangi özellik ve davranışların kullanılacağını belirleyebiliriz. Örneğin: Bir ATM uygulamasında bazı özelliklerimiz diğer sınıflarımızı ilgilendirmiyorsa bu kısımları private olarak oluşturarak gizleyebiliriz. Bunu kavramı daha iyi anlatabilmek için Java’da Metotlar kavramını anlatırken hazırlamış olduğum yanda bulunan görsele göz atabilirsiniz. Java’da Kapsülleme (Encapsulation) 3 kısımda incelenebilir bunlar şu şekildedir;

  • Public: Herkes tarafından kullanılabilen özellik ve davranış tanımlamalarımızda kullanırız.
  • Private: Sadece kendi sınıfı içerisinde kullanılacak özellik ve davranış tanımlamalarında kullanırız.
  • Protected: Sınıf ve miras alınan alt sınıflarda kullanılmaya açık olacak verilere verilen isimdir.

Eğer Java Encapsulation Kavramı hakkında paylaştığım konu anlatımı içeriğine isterseniz emrecelen.com.tr/java-encapsulation-kavrami/ bu adresten ulaşabilirsiniz.

Java'da Nesneye Yönelik Programlama
Java Nesneye Yönelik Programlama

Miras Alma (Inheritance)

Miras alma konusu için Anne ve Babanın ortak özelliklerini alarak ortaya çıkan çocuklar aklınıza gelebilir. Yani bir alt sınıf ve üst sınıfın içerisinde bulunan özelliklerini başka bir sınıfa aktarma işlemidir.

Eğer, Java’da Kalıtım (Inheritance) Nedir? hakkında paylaştığım konu anlatımı içeriğine isterseniz emrecelen.com.tr/javada-kalitim-nedir/ bu adresten ulaşabilirsiniz.

Çok Biçimlilik (Polymorphism)

Alt sınıf ve üst sınıf içerisinde bulunan özelliklerden farklı şekilde davranışlar sergileyen sınıflar çok biçimlilik kavramını tanımlar. Örneğin; Bir nesne içerisinde diğer bir nesne ile ortak özellikleri bulunmasına rağmen farklı özelliklerinin tanımlanabilmesi olarak düşünebiliriz.

Eğer Java Polymorphism Nedir? hakkında paylaştığım konu anlatımı içeriğine isterseniz emrecelen.com.tr/java-polymorphism-nedir/ bu adresten ulaşabilirsiniz.

Biliyorum teorik bilgiler oldukça karışık ve akılda durması güç kavramlar fakat konuya başlarken dile getirdiğim üzere bizleri kolay bir serüven beklemiyor. Java’da nesneye yönelik programlama temelini attığımız zaman diğer OOP kullanan yazılım dillerini öğrenirken fazla zorlanmayacağız.

Teorik bilgiler uygulanmaya dökülmediği sürece bir önemi olmadığını biliyorum ama ilerleyen konularımızda ve örnek çözümlerimizde bizleri neler beklediğini anlatacak bir yazı yayınlamak istedim. Sizleri sıktıysam beni affedin. 🙏🏻

Teorik bilgilerin yanında her konu içeriğimizde olduğu gibi örneklere yer vereceğim ve kısa bir sürede açacağım “Örnek” ismindeki alt kategori ile konuların tekrarını gerçekleştireceğiz.

Sonuç olarak, Nesneye yönelik programlama konusunu Java’yı öğrenmek istiyorsak mutlaka bilmemiz gerekmektedir. Eğer Java’da bir kariyer planı kurmayı veya bu hobimizi daha iyi yelere getirmek istiyorsak OOP tekniği ile projeler geliştirmemiz gerekmektedir.

Acısıyla tatlısıyla öğrenmek için çıktığımız bu yolda Java’da OOP Nedir konumuzun sonuna geldik. Aşağıda bulunan “yorum yap” kısmından aklınızda takılan soruları veya konu işleyiş önerilerini benimle paylaşabileceğinizi unutmayın.

Yorum Yap

Yazar Hakkında

Yazmayı, öğrenmeyi, öğrendiklerini paylaşmayı , kodlamayı ve günün birinde Yönetim Bilişim Sistemleri Uzmanı olmanın hayalini kuran birisiyim.

Yorum Yap

Yorumlar (1)

  1. 3 yıl önce

    Gayet açıklayıcı bir anlatım olmuş teşekkürler.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir