학습 2

[Kotlin] 코틀린에서 tailrec 을 사용하는 이유

코틀린에는 재귀 함수에 적용할 수 있는 tailrec 이라는 키워드가 있다.tailrec 에 대해 공부하면서tailrec 을 사용하는 이유를 좀 더 구체적으로 알아내기 위해 고민한 내용들을 공유해보고자 한다.재귀 함수와 반복문tairec 에 대해 알아보기 전에 재귀 함수 에 대해 간단히 살펴보자 재귀 함수 란 함수 안에서 자기 자신을 다시 호출하는 함수를 말한다.1 부터 5 까지 더하는 작업을 재귀 함수 를 이용하면 다음과 같이 작성할 수 있다.add(1)fun add(num: Int): Int { return if (num == 5) num else num + add(num + 1)} 위 함수의 실행 과정을 그림으로 표현하면 아래와 같다.따라서 add(1) 이 한 번 수행될 때 총 5 개의 스택 ..

학습 2025.09.20

[Kotlin] 코틀린에서 람다식을 사용하는 이유

코틀린에는 이름이 없는 람다식이라는 것이 있다.이 람다식을 공부하면서 문득 이런 물음이 생겼다.이름도 존재하고 형식도 익숙한 일반 함수가 이미 존재하는데, 왜 굳이 람다식을 사용하는걸까? 이 물음에 대한 나만의 답을 공유해보고자 한다! 함수형 프로그래밍 언어의 특징일반 함수와 람다식의 차이를 알아보기 전에 꼭 짚어야할 점이 있다.바로, 코틀린은 함수형 프로그래밍 언어라는 점이다.(함수형 프로그래밍이 외부 환경과 독립적인 순수 함수를 지향하는 프로그래밍 방식이라는 점만 대략적으로 알고 넘어가자) 보통 함수형 프로그래밍 언어에서는 함수를 하나의 객체로 다루는 것이 가능하기 때문에함수 자체를 다른 함수의 입출력으로 사용할 수가 있다. 이로 인해서 무엇이 달라지는 걸까?우리가 자주 사용하는 find() 를 예로..

학습 2025.09.20