DEV Community

Mustafa  Çam
Mustafa Çam

Posted on

Java scope

Java'da scope ya da Türkçe karşılığıyla kapsam, bir değişkenin, metotun veya sınıfın erişilebilir olduğu ve yaşam süresinin tanımlandığı alanı ifade eder. Scope, bir değişkenin nerede oluşturulduğunu, nerede kullanılabileceğini ve ne zaman bellekten silineceğini belirler¹².

Java'da temelde iki tür scope bulunur:

  1. Local Scope (Yerel Kapsam): Bir değişken veya nesne bir metot içinde veya bir blok içinde (örneğin bir for döngüsü içinde) tanımlandığında, yalnızca o metot veya blok içinde erişilebilir ve kullanılabilir. Metot veya blok sona erdiğinde, bu değişkenlerin yaşam döngüsü sona erer ve bellekten silinirler².

  2. Global Scope (Genel Kapsam): Eğer bir değişken sınıf seviyesinde tanımlanmışsa, yani bir metot dışında ve sınıfın içindeyse, bu değişken genel kapsama sahiptir. Bu tür değişkenlere sınıfın her yerinden ve hatta sınıfın nesneleri oluşturulmadan da erişilebilir. Genellikle static anahtar kelimesi ile tanımlanırlar ve program çalıştığı sürece bellekte kalırlar².

Örnek olarak:

public class Example {
    // Global Scope
    static int globalVariable = 10; // Sınıf seviyesinde tanımlanmış

    public static void main(String[] args) {
        // Local Scope
        int localVar = 5; // Yalnızca main metodu içinde erişilebilir
        System.out.println(globalVariable); // Global değişkene erişim
        System.out.println(localVar); // Local değişkene erişim
    }
}
Enter fullscreen mode Exit fullscreen mode

Bu örnekte, globalVariable sınıf seviyesinde tanımlandığı için genel kapsamda ve localVar main metodu içinde tanımlandığı için yerel kapsamdadır. localVar yalnızca main metodu içinde yaşar ve kullanılabilir, main metodu sona erdiğinde bellekten silinir. Ancak globalVariable, programın herhangi bir yerinden erişilebilir ve program sona erene kadar bellekte kalır².

Scope kavramının doğru anlaşılması, kodun etkin ve hatasız bir şekilde yazılmasını sağlar ve potansiyel hataları önlemeye yardımcı olur².

Kaynak: Bing ile konuşma, 18.05.2024
(1) Java’da Hafıza Modeli 4 - Kapsam(Scope) - hasancelik.org. https://hasancelik.org/java-hafiza-yonetimi/Java-memory-models-scope/.
(2) Java'da Scope (Kapsam) Nedir? - Mehsatek. https://www.mehsatek.com/java-scope-nedir/.
(3) Java scope nedir? - Galmetsan.gen.tr. https://galmetsan.gen.tr/java-scope-nedir/.
(4) Spring Bean Scope Nedir? » CBT - Java. https://codingbytime.com/spring-bean-scope-nedir/.

Top comments (0)