더북(TheBook)

이에 대한 해법은 생성자 파라미터의 값을 저장할 멤버 프로퍼티를 정의하는 것이다.

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은 프로퍼티를 가리킴
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.