이에 대한 해법은 생성자 파라미터의 값을 저장할 멤버 프로퍼티를 정의하는 것이다.
class Person(firstName: String, familyName: String) { val firstName = firstName // firstName은 생성자 파라미터를 가리킴 val fullName = "$firstName $familyName" fun printFirstName() { println(firstName) // Ok: 여기서 firstName은 멤버 프로퍼티를 가리킴 } }
하지만 코틀린은 간단하게 생성자 파라미터의 값을 멤버 프로퍼티로 만들 수 있는 방법을 제공한다.
class Person(val firstName: String, familyName: String) { // firstName은 생성자 파라미터를 가리킴 val fullName = "$firstName $familyName" fun printFirstName() { println(firstName) // firstName은 멤버 프로퍼티를 가리킴 } } fun main() { val person = Person("John", "Doe") println(person.firstName) // firstName은 프로퍼티를 가리킴 }