Kotlin | Class Vs Object

Halil Özel
2 min readApr 20, 2024
Kotlin | Class vs Object

Sınıflar ve nesneler, Kotlin’de nesne yönelimli programlamanın (OOP) temelini oluşturur. Her ikisi de kodumuzu organize etmemize ve tekrar eden kodlardan kaçınmamıza yardımcı olur.

Ancak, class ve object anahtar kelimeleri arasında bazı önemli farklar vardır:

Kullanım:

  • class: Yeni nesneler oluşturmak için kullanılır.
  • object: Tek bir nesne örneği oluşturmak için kullanılır. Bu nesne, program boyunca erişilebilir ve kullanılabilir.

Erişilebilirlik:

  • class: Oluşturulan nesneler, programın herhangi bir yerinden erişilebilir.
  • object: Oluşturulan tek nesne, programın her yerinden erişilebilir.

Değişmezlik:

  • class: Oluşturulan nesnelerin özellikleri değiştirilebilir.
  • object: Oluşturulan tek nesnenin özellikleri değiştirilemez (salt okunabilir).

Singleton Deseni:

  • class: Singleton deseni manuel olarak uygulanmalıdır.
  • object: object anahtar kelimesi, varsayılan olarak singleton deseni uygular.

Örnekler:

class kullanımı:

class SpecialPerson(val name: String, val surname: String) {
fun sayHello() {
println("Hi, I'm $name $surname!")
}
}

fun main() {
val goddess = SpecialPerson("Taylor", "Swift")
goddess.sayHello()

val angel = SpecialPerson("Jennifer", "Lopez")
angel.sayHello()
}

object kullanımı:

object BirthdayInfo {
val bday = "Dec13,1989"
val nationality = "American"
}

fun main() {
println("Birthday: ${BirthdayInfo.bday}")
println("Nationality: ${BirthdayInfo.nationality}")
}
  • object ile tek bir nesne oluşturabilirsiniz ve bu nesnenin özellikleri tüm program boyunca sabit kalır.
  • class ile birden fazla nesne oluşturabilirsiniz, her nesnenin kendine özgü özellikleri olabilir.

Hangi anahtar kelimeyi kullanacağınıza karar verirken:

  • Birden fazla nesne oluşturmanız gerekiyorsa class kullanın.
  • Tek bir nesne oluşturmanız ve bu nesnenin özelliklerinin tüm program boyunca sabit kalmasını istiyorsanız object kullanın.
  • Singleton deseni uygulamak istiyorsanız object kullanın.

--

--