더북(TheBook)

기본적으로 생성자 파라미터 앞에 val이나 var 키워드를 덧붙이면, 자동으로 해당 생성자 파라미터로 초기화되는 (생성자 파라미터와 이름이 같은) 프로퍼티를 정의한다. 이때 파라미터 이름을 프로퍼티 초기화나 init 블록 안에서 참조하면 생성자 파라미터를 가리키고, 다른 위치에서 참조하면 프로퍼티를 가리키게 된다.

IDE 팁 ≡

인텔리J 코틀린 플러그인은 멤버 프로퍼티의 값을 생성자 파라미터의 값으로 초기화하는 경우에 해당 프로퍼티를 val/var 파라미터로 변환해준다(그림 4-1).

▲ 그림 4-1 프로퍼티를 생성자 val/var 파라미터로 변환하기

val/var 파라미터를 사용하면 단순하지 않은 멤버가 포함되지만 본문은 비어있는 클래스를 정의할 수 있다.

class Person(val firstName: String, val familyName: String = "") {
}

이런 경우 코틀린에서는 본문을 아예 생략할 수 있다. 실제 인텔리J 코틀린 플러그인은 이런 코딩 스타일을 권장한다.

class Person(val firstName: String, val familyName: String = "")
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.