[Kotlin] 코틀린 연산자 오버로딩 #1 - 산술연산자, 비트연산자, equals, compareTo 이 글은 Kotlin In Action을 참고 하였습니다.더욱 자세한 설명이나 예제는 직접 책을 구매하여 확인 하시기 바랍니다코틀린에서는 특정 연산자의 역할을 함수로 정의할 수 있습니다. 이를 convention이라고 합니다. 7.1.1 이항 산술 연산자 오버로딩 +, - 같은 연산자를 코틀린에서는 overloading해서 사용할 수 있습니다. 객체끼리 더하거나 뺄때 원하는 동작을 함수로 구현하면 연산자를 이용해 이를 표현할 수 있습니다. data class Point(val x: Int, val y: Int) operator fun Point.plus(other: Point): Point { return Point(x + other.x, y + other.y) } fun main(args: Array).. 개발이야기/Kotlin 7년 전
[Kotlin] 코틀린 null 처리 - ? ?. ?: !!, let, lateinit, 제너릭, 플랫폼 타입 이 글은 Kotlin In Action을 참고 하였습니다.더욱 자세한 설명이나 예제는 직접 책을 구매하여 확인 하시기 바랍니다 코틀린에서는 자바보다 null 처리를 좀더 명확하게 합니다. 따라서 NPE(NullPointerException)가 발생하는 빈도를 현저히 낮출 수 있습니다.6.1.1 null이 될수 있는 type코틀린은 null이 될수 있는 type을 명시적으로 표시할 수 있습니다. //자바 public int getLen(String str) { return str.lengh(); } 자바에서 위 함수는 컴파일시 문제없이 빌드 되지만, run time에 인자로 null이 들어오면 NPE가 발생합니다. fun getLen(str: String) = str.length 코틀린에서는 명시적으로 n.. 개발이야기/Kotlin 7년 전