일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- BOJ
- Behavior
- View
- notification
- ViewModel
- sqlite
- recyclerview
- CollapsingToolbarLayout
- HTTP
- 백준
- DataBinding
- onLayout
- Android
- 알고리즘
- LiveData
- Algorithm
- kotlin
- Coroutine
- 코틀린
- CoordinatorLayout
- 안드로이드
- hilt
- onMeasure
- room
- AppBarLayout
- Navigation
- activity
- lifecycle
- CustomView
- 알림
- Today
- Total
목록익명 함수 (2)
개발일지
함수형 프로그래밍 (Functional Programming) 함수형 프로그래밍이란 순수함수를 사용하여 공유 상태(Shared State), 변경 가능한 데이터(Mutable Data) 및 부작용(Side Effect)를 줄이는 방식입니다. 함수형 프로그래밍을 사용하면 함수가 예측 가능하기 때문에 테스트에 용이하고 예측 가능한 코드가 되기 때문에 유지 보수에 좋습니다. 특징 불변성 어떤 값의 상태를 변경하지 않습니다. 함수 내부에서 참조하는 객체를 변경하면 예측하기 힘들어집니다. 매개 변수를 복사해서 사용하거나 값을 변경하면 안됩니다. 아래와 같은 코드는 person의 age를 변경하기 때문에 불변성에 어긋납니다. fun add(person: Person) { person.age++ } 고차 함수 함수를..
- 익명함수 함수의 형태를 가지고 이름이 없는 함수이다. 코드 val fun0: (Int, Int) -> Int = fun(x:Int, y:Int): Int {return x + y} println(fun0(1, 2)) 결과 3 익명함수의 간단한 표현 코드 val fun0 = fun(x:Int, y:Int) = x + y println(fun0(1, 2)) 결과 3 람다식 vs 익명함수 람다식에서는 return, continue, break처럼 제어문을 사용하기 어렵기 때문이다. 하지만 익명함수는 람다식보다 가독성이 떨어지는 특징이 있기 때문에 적절히 사용하애한다. - 인라인 함수 (inline) 인라인 함수는 함수가 호출되는 곳에 코드를 붙여넣기 때문에 함수 콜백간 오버헤드를 줄일 수 있는 장점이 있다..