Skip to content

필드와 접근자 메서드

주 생성자를 만들면 클래스의 필드가 알아서 생성된다.

class User(var username: String)

정말 간단하다!

접근자 메서드인 gettersetter는 코틀린이 알아서 만들어준다.

class User(
var name: String
val age: Int
)

읽기 전용 필드를 만들 수도 있다.
var 대신 val을 앞에 붙여 선언하면, getter 함수만 생성된다.

val은 수정할 수 없는 필드기 때문에, final과 비슷하다.

필드에 접근할 때는 그냥 변수에 접근하듯이 사용하면, 코틀린에서 내부적으로 접근자 메서드를 사용하는 것 처럼 작동한다.

class User(
var name: String
val age: Int
)
fun main(args: Array<String>) {
val user = User("user", 17)
user.username = "useruser"
println("username : ${user.name}")
println("age : ${user.age}")
}

getter/setter를 원하는 대로 정의할 수도 있다.

class Rectangle(
val height: int,
val width: int
) {
val isSquare: Boolean
get() {
return height == width
}
}