class Person(val name: String)
자바는 하나의 클래스를 생성하고, 거기에 필드를 선언해주기 위해 생성자에 대입해줘야 하는 코드 수가 많았지만 코틀린은 이 코드 한 줄로 모든 작업이 끝난다.
코틀린인액션에서는 아예 대놓고 '멋지다.' 라고 써놨다. 멋지긴 하다.
val 로 선언한 프로퍼티는 읽기 전용이며, var로 선언한 프로퍼티는 변경 가능하다.
클래스 안에서 변경 가능한 프로퍼티 선언하기
class Person {
val name: String,
var isMarried: Boolean
}
코틀린에서 Person 클래스 사용하기
val person = Person("Bob", true) // new 키워드를 사용하지 않고 생성자를 호출한다
println(person.name) // 프로퍼티 이름을 직접 사용해도 코틀린이 자동으로 게터를 호출해준다.
println(person.isMarried) // 위와 같다.
자바의 getter 메서드와 로직은 동일하지만 코드가 훨씬 간결해졌음을 알 수 있다.
참고로 자바에서는 person.setMarried(false)로 어떤 사람이 이혼했다는 사실을 기록하지만, 코틀린에서는 person.isMarried = false 로 쓴다.