Kotlin | Class Vs Object
2 min readApr 20, 2024
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.