8강. lateinit, lazy()class Person( private val name: String) { val isKim: Boolean get() = this.name.startsWith("최") // 홍길동 -> 홍** val maskingName: String get() = name[0] + (1 until name.length).joinToString("") { "*" }}fun main() { val person = Person("홍길동")}클래스 인스턴스화가 이뤄지며 name에 '홍길동'이 들어감만약, 인스턴스화 시점과 프로퍼티 초기화 시점을 분리하고 싶다면?테스트 코드 작성테스트 코드의 특징은 각 테스트 메소드가 Person을 각각 ..
프로퍼티 자바에서는 필드의 개념으로 접근하지만 코틀린에서는 프로퍼티 개념으로 사용한다. 프로퍼티 = 필드 + 접근자 코틀린에서 접근자를 명시하지 않을경우 자동으로 생성해준다. class Person { val name = "park jin" var age = 31 var isMarried = false } fun main() { val person = Person() println("person name is ${person.name}") println("person age is ${person.age}") println("person is married ${person.isMarried}") } 커스텀 접근자 접근자에서 계산과 같은 동작을 해야한다면 직접 작성 가능하다. var [ : 타입] [= ] ..