분류 전체보기556 Kotlin] 45. ClosedRange Range 라는 말을 보면 어떤가? 이젠 딱 봐도 범위가 생각나야지.. 말 그대로 닫힌 구간을 표기하는 인터페이스이다. 닫힌 구간에서는 당연히 시작과 끝을 알 수 있고, 또 범위 특성상 내부를 쭉 훑어서 큰 값과 작은 값의 비교가 가능해야한다. 즉, Comparable을 상속하는 값들(기존에 범위를 측정 가능한 자료형 + 임의로 Comparable을 상속하는 클래스 자료형)만이 closeRange 인터페이스를 사용할 수 있다. 또 범위가 비었는지 아닌지도 측정이 가능하다. 예시를 보자. package closedRangeEx fun main() { val intRange : IntRange = 1..10 val longRange : LongRange = 1L .. 100L val charRange : C.. 2020. 12. 23. 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. 이전 1 ··· 65 66 67 68 69 70 71 ··· 139 다음 반응형