Sobes.tech
Junior — Middle

Yöntem çağrılırken değişkenlerin referansla iletimi nasıl yapılır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Java'da metodlara parametre geçişi her zaman değerle yapılır, yani değişkenin değeri kopyalanır. Ancak, bir nesne geçirilirse, nesneye olan referans kopyalanır, nesne kendisi değil. Bu genellikle "referans ile geçiş" olarak adlandırılır, ancak gerçekte bir referansın kopyası geçirilir.

Bu, metod içinde parametreyle gösterilen nesnenin durumunun değiştirilebileceği, ancak referansın kendisinin başka bir nesneye işaret edecek şekilde değiştirilemeyeceği anlamına gelir.

Örnek:

class MyObject {
    int value;
}

public class Example {
    public static void modifyObject(MyObject obj) {
        obj.value = 10; // nesnenin durumunu değiştiriyoruz
        obj = new MyObject(); // yerel referans kopyasını değiştiriyoruz
        obj.value = 20; // bu değişiklik metod dışındaki nesneyi etkilemez
    }

    public static void main(String[] args) {
        MyObject myObj = new MyObject();
        myObj.value = 5;
        modifyObject(myObj);
        System.out.println(myObj.value); // 10 yazdırır
    }
}

Burada, metod içindeki nesne durumundaki değişikliğin korunduğu, ancak referansın yeniden atanmasının etkili olmadığı görülür.