Kotlin

    Kotlin Progression 과 Range 제대로 이해하고 사용하기

    목표 시작 값과 끝나는 값이 있는 범위를 다루는 방법을 이해한다. Range와 Progression의 차이를 이해하고, 상황에 맞게 쓸 수 있도록 한다. *Range와 Progression에 대한 자료가 많이 없어 직접 소스코드를 분석해서 자료를 만들었습니다. 부족한 부분이 있을 수 있으니 수정해야 할 부분은 댓글로 남겨주시면 감사하겠습니다. 개요 이 장에서 Progression Class와 Range Class를 묶어 놓은 것은 Range는 Progression의 특수한 형태이기 때문이다. 둘 다 범위를 다룬다는 것은 같지만, Progression은 start와 end를 정해놓고 구간을 1이상의 정수로 바꿀 수 있는 반면 range는 구간이 1로 고정되어 있다. Progression 이란 Progres..

    [Kotlin Collection] Kotlin Mutable과 Immutable의 차이는 무엇인가? Mutable Interface의 관점에서 보는 코틀린의 가변성과 불변성

    개요 Kotlin의 Collection은 두가지 타입의 Interface를 제공한다. 한 가지는 변경 불가능(Immutable)한 Interface 이며 다른 하나는 변경 가능(Mutable)한 Interface이다. 더욱 자세히 들어가면 Immutable Interface와 Mutable Interface는 아래 [그림1]과 같은 상속 구조를 가진다. Immutable Interface에서는 값을 변경할 수 있는 함수를 제공하지 않으며, Immutable Interface를 확장하는 Mutable Interface에서 값을 변경하는 메서드를 제공한다. 필요성 Kotlin에서 이렇게 Immutable Interface와 Mutable Interface를 나눈 것은 불변성이 중요한 함수형 프로그래밍을 돕기..