Sobes.tech
Junior

Java ve Kotlin'de erişim belirteçleri hakkında konuş.

sobes.tech yapay zeka

AI'dan gelen yanıt

Java'da:

  • public: her yerden erişilebilir.
  • protected: sınıf içinde, paket içinde ve alt sınıflarda erişilebilir.
  • (modifikator olmadan): paket içinde erişilebilir (package-private).
  • private: sadece sınıf içinde erişilebilir.

Kotlin'de:

  • public: her yerden erişilebilir (varsayılan).
  • internal: modül içinde erişilebilir.
  • protected: sınıf ve alt sınıflar içinde erişilebilir (Java'dan farklı olarak paket içi erişim sağlar).
  • private: sadece sınıf/dosya içinde erişilebilir.

Farklar:

  • Kotlin'de "package-private" modifikatorü yoktur, onun karşılığı internal'dır ve farklı bir kapsamı (modül) vardır.
  • Kotlin'de protected, Java'daki gibi paket içinde erişim sağlamaz.
  • Kotlin'de private, dosyadaki üst düzey bildirimler (fonksiyonlar, özellikler) için de kullanılabilir ve sadece bu dosya içinde erişilebilir hale getirir.
// Kotlin'de örnek
package com.example.myapp

private const val API_KEY = "secret" // Bu dosyada görünür

class MyClass {
    private val internalState = 1 // Sadece MyClass içinde görünür
    protected fun protectedMethod() {} // MyClass ve alt sınıflarda görünür
    internal fun internalMethod() {} // Modül içinde görünür
}