Kotlin Setter and Getter tutorials with examples
This tutorial explains how to generate Kotlin property setters and getters with examples. Setter and getter are methods for a given property or a field in Kotlin classes
A setter method sets values to a property, while a getter method retrieves or returns the property value.
Generating Setter and Getter in Kotlin
Kotlin declares variables or fields using val
and var
:
var
is used for a mutable variable declaration that can be changed later.val
is used for immutable variables that cannot be modified.
Example with var field: By default, Kotlin generates a setter and getter for every property declared in a class. The default modifier for these setters and getters is public
.
For example
class Employee {
var name: String = ""
}
This generates the following setter and getter by default:
class Employee {
var name: String = ""
get() {
return field
}
set(value) {
field = value
}
}
Here is an example of calling the setter and getter:
fun main() {
val emp = Employee()
// calling setter
emp.name = "John"
// calling getter
println(emp.name)
}
class Employee {
var name: String = ""
get() {
return field
}
set(value) {
field = value
}
}
If you don’t have a custom implementation in the setter and getter functions, you can skip writing them.
Example with val field
Kotlin, by default, generates only getters for variables declared with val
. val
variables are immutable; hence, setters are not allowed.
fun main() {
val emp = Employee()
// calling getter
println(emp.name)
}
class Employee {
val name: String = ""
get() {
return field
}
}
If you try to add a setter for the val
variable, it throws an error:
Val cannot be reassigned A ‘val’-property cannot have a setter Reassignment of a read-only property via backing field
Public Getter and Private Setter in Kotlin
You can customize the access modifier for these functions.
Here is an example with a public getter and a private setter:
var name: String = "John"
get() {
return name
}
private set(value) {
name = value
}
Conclusion
This tutorial has shown how to generate Kotlin property setters and getters with examples. It covered the concept of setter and getter in Kotlin mutable (var
) and immutable (val
) variables.