Bu yazıyı yazmadan önce temel programlama konularına girip girmemekte kararsız kaldım. Daha sonra eğer bu yazıya bir şekilde ulaştıysanız, bu konuyu araştırıyorsunuz  ve temel programlama bilgisine yüksek ihtimalle sahipsinizdir diye düşündüm.

Bundan sonra küçük küçük parçalar halinde nesne yönelimli programlama felsefesini daha yakından tanıyacak ve onunla ilgili kavramları öğreniyor olacaksınız. Eğer seriyi baştan sona okumaya karar verdiyseniz her bir konuya en az birkaç gün vakit ayırıp o konuyla ilgili farklı kaynaklardan yararlanmanızı ve bunu “hands-on” şekilde yani elinizi kirletmekten korkmadan, kod yazarak yapmanızı tavsiye ederim.

Bilişim deyince benim aklıma kapkara bir boşluk geliyor. Uçsuz bucaksız her şeyin mümkün olduğu bir evren düşünün. İşte bilgisayarcı abilerimiz bu hiçbir kuralın olmadığı ve her şeyin mümkün olabileceği evrende biz yazılımcı kardeşlerine yol göstermek adına gerçek dünyadan esinlenerek bazı konseptler ortaya atmışlar.

İnsan kendisi gibi birçok nesneyle etkileşim kurduğu bir dünyada yaşamakta. Nesne yönelimli programlama da, bu dünyayı yorumlayıp onu o bahsettiğim kapkara boşluğa taşıyıp o ortamda daha rahat edebilmemizi sağlayan felsefelerden biridir. Aslında bakarsanız işimizi bu kadar kolaylaştırdıkları için bilgisayarcı abilerimizin ellerinden öpmek lazım. Çünkü belki de en iyi bildiğimiz şey, bir ömür geçirdiğimiz bu dünyada nesnelerle haşır neşir olmak.

Sizden gözlerinizi kapatmanızı, kendinize ve çevrenizdekilere uzaktan bir bakmanızı isteyeceğim. Eğer bunu yapabildiyseniz çok iyi bir yazılımcı olacağınızdan şüpheniz olmasın. Neyse daha sonra gözleriniz açıp okumaya devam edebilirsiniz.

Ne gördünüz? Birçok nesne gördüğünüze eminim. Mesela bu yazıyı okumakta kullandığınız bilgisayarınız veya akıllı cihazınız size en yakın olan nesnelerden biridir. Burada ilginç olan şey o nesneleri bir şekilde kullanıyoruz. Sandalyeyi oturmak için, bardağı bir şeyler içmek için vs. İşte programlamada da nesneler tam bu işi görür. Farklı ortamlarda farklı işler yaptırabiliceğimiz varlıklardır.

Şimdiye kadar okuduklarınız umarım birazcık olsun farkındalık yaratmıştır. Çünkü bunları pratiğe dökerken her şey daha mantıklı geliyor olacak.  Arada sırada etrafınıza lisede edebiyat dersinden hatırlayacağınız “ilahi bakış açısı” ile bakmanız size nesne yönelimli programlamayı anlama da çok yardımcı olacaktır.

Şimdi birazcık ellerimizi kirletmenin zamanı geldi. İlk önce yeni bir paket oluşturalım, daha sonra da sınıf oluşturalım. Sınıfın içerisine ana metodumuzu yazalım.

package com.ufukcanli;

public class Nesneler {

    public static void main(String[] args) {
    
        // Burada daha sonra nesne oluşturacağız
    
    }
}

Eğer adımları doğru bir şekilde uyguladıysanız yukarıdakine benzer bir sonuç elde ediyor olmalısınız. Nesneler sınıfların birer temsilcisidir diyebiliriz. Eğer birazcık biyoloji bilginiz varsa ve şu ana kadar nesneler hakkında bahsettiğim şeyleri anladıysanız kendimizin bir nesne olduğunu ve insan sınıfından türediğimizi farkedebiliriz. Haydi o zaman insan sınıfını yazalım ve bir nesne ile onu ana metot içerisinde temsil edelim.

package com.ufukcanli;

class Insan {
    
}

public class Nesneler {

    public static void main(String[] args) {
    
        // Nesne oluşturma işlemi
        Insan insan = new Insan();
    
    }
}

Yukarıda “Insan” adında içi boş bir sınıf oluşturdum ve daha sonra onu “insan” adıyla ana metot içerisinde temsil eden bir nesne oluşturdum.

Eğer oluşturduğumuz nesneyi ekrana yazdırmayı denerseniz, hafızada kapladığı adresi çıktı olarak görüyor olursunuz.

Serinin ilerleyen bölümlerinde nesneleri daha yakından tanıyor olacak ve onlarla daha çok haşır neşir olacağız.