Android/안드로이드 스터디(Kotlin)61 Kotlin] 44. Comparable Comparable 인터페이스는 두 인터페이스를 서로 비교할 수 있게 해준다. IntelliJ 같은 경우는 자동으로 compareTo 라는 함수를, 같은 타입을 비교할 수 있도록 오버라이딩 해준다. 이 인터페이스를 상속하면 말 그대로 두 함수의 변수를 비교할 수 있게 된다. 예시를 보자 package comparableEx class Rectangle(val width : Int, val height : Int) : Comparable { val area = width * height override fun compareTo(other: Rectangle): Int = when { this.area > other.area -> 1 this.area -1 else -> 0 } .. 2020. 12. 23. Kotlin] 43. Triple Pair은 변수를 두 개로 묶을 수 있는 클래스였다면, 변수를 세 개로 묶을 수 있는 클래스도 있다. Triple 변수이다. 예시를 보자. Pair을 생각하면 간단하다. package triple fun main() { val (diameter,_,area) = calculateCircle(5) println(diameter) println(area) } fun calculateCircle(radius: Int): Triple = Triple(radius * 2, radius * 2 * 3.14, 3.14 * radius * radius) Pair처럼 Triple도 () 내부에 값을 3개 넣어서 그 값을 호출 가능하다. 2020. 12. 22. Kotlin] 42. Pair 코틀린은 두 변수 값을 간단히 묶을 수 있다. package pairEx fun main() { val(q,r) = divide(10,3) println("몫 : $q") println("나머지 : $r") } fun divide(a:Int, b:Int) : Pair = Pair(a/b, a%b) divide의 결과값을 각각 Pair 값에 저장한다. Pair 값을 받아올 때 ( x , y )로 받아올 수 있다. pair 클래스는 내부적으로 이렇게 생겼다. data class Pair ( val first : A, val second : B) : Serializable 그렇기 때문에 값을 출력할때는 Pair 타입 변수에 first, second 로 찾을 수 있다. 또, Pair 변수에 값을 대입할때는 to.. 2020. 12. 17. Kotlin] 41. 위임 코틀린에서는 프로퍼티의 getter/setter을 모듈화할 수 있도록 다른 객체에 위임할 수 있다. - Sample.kt package delegatedPropertyEx class Sample{ var number : Int by OnlyPositive() } by를 통해 위임할 객체를 찾는다. 위임할 객체를 보자. - OnlyPositive.kt package delegatedPropertyEx import kotlin.reflect.KProperty class OnlyPositive { private var realValue : Int = 0 operator fun getValue(thisRef : Any?, property : KProperty) : Int { return realValue } o.. 2020. 12. 14. 이전 1 2 3 4 5 6 7 8 ··· 16 다음 반응형