이펙티브코틀린 2

[KOTLIN] 일반적인 프로퍼티 패턴은 프로퍼티 위임으로 만들어라 (이펙티브 코틀린)

프로퍼티 위임 코틀린에서 제공하는 관례에 의존하는 특성 중 하나 프로퍼티 위임을 사용하면 값을 뒷받침 하는 필드에 단순히 저장하는 것보다 더 복잡한 방식으로 작동하는 프로퍼티를 쉽게 구현 가능함 일반적인 프로퍼티의 행위를 추출해서 재사용이 가능함 프로퍼티 위임 예시 var token: String? = null get() { print("token returned value $field") return field } set(value) { print("token changed from $field to $value") field = value } var attempts: Int = 0 get() { print("attempts returned value $field") return field } set(..

KOTLIN 2022.07.13

[KOTLIN] 연산자 오버로드를 할때는 의미에 맞게 사용

연산자 오버로딩 어떤 언어 기능과 미리 정해진 이름의 함수를 연결해주는 기법 (자바에서 Iterable 객체에 대해 for Loop를 사용할 수 있는 것 과 비슷함) 산술 연산자 오버로딩 자바는 원시 타입이 String에 대해서만 산술 연산자를 지원하지만 코틀린은 다른 클래스에서 산술연산자를 오버로딩하면 그대로 사용할 수 있음 이항 산술 연산자 오버로딩 data class Point(val x: Int, val y: Int) { operator fun plus(other: Point) : Point{ return Point(x + other.x, y + other.y) } } val p1 = Point(10, 20) val p2 = Point(30, 40) println(p1 + p2) // Point(..

KOTLIN 2022.07.03