primary constructor call expected 기본 생성자 호출이 필요 합니다 Kotlin 기본 생성자에 대한 호출이 Kotlin 보조 생성자의 정의에 없을 때 발생 class Student(var name: String="") { var age: Int = 14 constructor (name: String, age: Int){ this.age = age } fun printMsg(){ println("Name is $name. Age is $age."); }} this 키워드를 사용하여 해결 기본 생성자 똑는 기본 생성자를 호출하는 이전 보조 생성자에 대한 호출을 포함한다 class Student(var name: String="") { var age: Int = 14 construct..
lateinit var is initialized isInitialized 를 이용하여 lateinit var 이 초기화되었는지 여부를 확인 할 수 있다 12345678910111213class Foo { lateinit var lateTest: String fun init() { println("before init : ${this::lateTest.isInitialized}") lateTest = "value" println("after init : ${this::lateTest.isInitialized}") }} fun main(args: Array) { Foo().init()}Colored by Color Scriptercs + Reference http://kotlinlang.org/docs/r..
Kotlin 의 특수 기호 ?. safe call 을 수행한다메소드가 호출되거나 수신기가 null 이 아닌 경우 속성에 액세스 ?. 을 이용한 null safety if ( user != null )println("user is not null")elseuser = false 위의 코드를 ?. 을 이용하면 user?.let { println("user is not null") }.let { println("user is null") } 위와 같이 표현 할 수 있다 ?: 왼쪽의 값이 null 인 경우 오른쪽 값을 가져온다 ( 엘비스 연산자 ) Elvis Operator val l: Int = if( b != null ) b.length else -1 을 val l = b?.length ?: -1 처럼 표현..