개발/Kotlin

lambda 람다식이란

개복치 개발자 2019. 8. 14. 18:06

 

람다식이란 뭘까요

 

익명 함수(Anonymous functions)를 지칭한다고 하는데

 

이렇게 생긴 함수들입니다.

 

(0 until 10).foreach { println(it) }

 

자 그러면 얘를 기존 방식대로 쓰면 어떻게 될까요?

 

for (i in 0 until 10) {

println(i)

}

 

여기까지는 뭔가 큰 차이가 안보이는데, 다른 것들을 봐 볼까요?

 

기존 함수

 

01 fun sum(x1: Int, x2: Int): Int {

02   return x1 + x2

03 }

 

람다식

01 val sum1 = { x1: Int, x2: Int -> x1+x2 }

뭔가 간결해진 것이 보이죠?

 

그렇다면, 람다식의 장점과 단점은 뭘까요?

 

장점으로는 코드가 간결해지고, 불필요한 연산을 자제해서 메모리 효율성이 높아집니다.

 

단점으로는 디버깅하기가 조금 어렵고, 람다식을 남용하면(뭐 어떤 코드이건 마찬가지겠지만) 코드를 이해하기 어렵습니다.

 

그냥 이렇게 사용하는 방법도 있다고 알고 계시면 될 것 같습니다 :)

 

 

 

 

'개발 > Kotlin' 카테고리의 다른 글

인터페이스(interface)  (0) 2019.07.27
추상클래스(abstract class)란?  (0) 2019.07.27
kotlin 물음표(?) 와 느낌표(!!)에 대해서  (3) 2019.06.21
Kotlin lateinit and lazy  (0) 2019.06.21
Kotlin 이란  (0) 2019.05.20