Java OOP günlükleri - 4 Referanslar

Bir çok dili temel ve orta seviyede biliyorum. Java da temel bildiğim dillerden bir tanesi. Java'yı yıllardır bilmeme rağmen OOP konusunda takılıp/kendimi çok geliştirmeden kaldım. Bu blog'da bildiğim ve yeni öğrendiğim şeyleri kodları ile beraber sizlerle paylaşacağım.

Bundan önceki yazımda Constructorlar (Yapıcı, Yapılandırıcı Metodlar) ' dan bahsetmiştim bu yazımda ise referanslardan bahsedeceğim. Java'da üç tip veri tipi vardır. Bunlar İlkel veri tipleri, Null veri tipi, Referans veri tipidir. Bugün size referans veri tipini anlatacağım. Referans aslında bir veri tutan değil yer gösteren bir veri tipidir. Sınıflar, Arrayler ve Interfaceler bu veri tipine örnektir.
1596104432695.png

Çok tanım ile uğraşmadan örnek ile bu durumu açıklayalım.

Java:
public class Furkaninkosesi{
    public static void main(String[] args){

        String s_1 = new String("Mustafa");
        String s_2 = new String("Mustafa");

        if(s_1 == s_2){
            System.out.println("Doğru");
        }

        else{
            System.out.println("Yanlış");
        }
    }
}

Evet bu yukarıda gördüğünüz işlem ile iki adet "String" sınıfndan aynı değere sahip iki obje oluşturduk ve objeleri karşılaştırdık. Program çıktı olarak Yanlış verdi. Peki neden?

Çünkü sınıftan oluşan objeler, referans veri tipindedir.

1596102887535.png


Bizim yukarıda yaptığımız işlem tam olarak;


Java:
if(10==11){
    System.out.println("Doğru");
}
else{
    System.out.println("Yanlış");
}

Bu anlama gelmektedir. Bu programdan "Doğru" çıktısını alabilmemiz için ".equals()" kullanmamız gerekir. Bu işlem objelerin verilerini karşılaştırır.
Java:
public class Furkaninkosesi{
    public static void main(String[] args) {
 
                String s_1 = new String("Mustafa");
                String s_2 = new String("Mustafa");
         
                if(s_1.equals(s_2)){
                    System.out.println("Doğru");
                }
         
                else{
                    System.out.println("Yanlış");
                }
}
}

Program Doğru çıktısını verdi.

Referans veri tipleri verilerin kendisini değil adreslerini tutarlar. Başka bir örnek ile anlatacak olursak:

Java:
public class Furkaninkosesi{
    public static void main(String[] args){
        int d_1 = 5;
        int d_2 = 10;
        d_1 = d_2;
        d_2 = 15;
        System.out.println(d_1);
    }
}

Burada program çıktı olarak 10 verir. Bunun nedeni "int" ilkel bir veri tipidir. Burada yaptığımız işlem tam olarak budur:

1596103749587.png


İki değişken birbirinden bağımsız bir şekilde çalışırlar.

Java:
public class Furkaninkosesi{
    public static void main(String[] args){

        String degisken_1 = new String("Mustafa");
        String degisken_2 = new String("Mustafa");

        degisken_1 = degisken_2;

        degisken_1 = "Furkan";

        System.out.println(degisken_2);

    }
}

Bu programda degisken_1'in referans numarasını degisken_2 ye eşitledik. Program çıktı olarak Furkan verdi. Burada yaptığımız işlemi şu şekilde gösterebiliriz:

1-)
1596104160157.png

2-)
1596104205163.png

3-)
1596104290812.png


Bu görmüş olduğunuz işlemleri diğer referans veri tipleri ile yapabilirsiniz.

Bu yazımın da sonuna geldim, araştırıp yeni bilgiler öğrenip yazı yazmaya devam edeceğim.
  • java(.png
    java(.png
    18,5 KB · Görüntüleme: 158
Yazar hakkında
Furkaninkosesi
Bilgisayar ile 2 yazılım ile 10 yaşında tanışan biri.

Yorumlar

Gösterilecek yorum bulunamadı.

Blog girdisi detayları

Ekleyen
Furkaninkosesi
Okuma süresi
2 dakika okuma
Görüntüleme
497
Son güncelleme

Yazılım kategorisindeki diğer girdiler

Furkaninkosesi adlı kullanıcının diğer girdileri

Bu girdiyi paylaş

Geri
Yukarı