반응형
Lambda람다식(자바8 람다식 지원)
//기본
fun sum(x: Int, y: Int): Int {
return x + y
}
//{}생략, return생략
fun sum(x: Int, y: Int) = x + y
//변수를 함수처럼 사용
var add = { x: Int, y: Int -> x + y }
println(add(5, 15)) // 출력 값: 20
SAM(Single Abstract Method) 변환
//메서드가 하나인 인터페이스는 SAM(Single Abstract Method)변환 가능
button.setOnClickListener(object : View.OnClickListener{
override fun onClick(p0: View?) {
// 클릭 이벤트
}
})
//SAM변환
button.setOnClickListener {
// 클릭 이벤트
}
확장 함수(기존클래스에 기능추가)
- class이름에 . 을 찍고 함수 이름을 작성하여 추가
//Int클래스에 기능추가. this로 접근가능
fun Int.isEven() = this % 2 == 0
val a = 10
val b = 11
println(a.isEven()) // true
println(b.isEven()) // flase
반응형
'안드로이드(Kotlin)' 카테고리의 다른 글
Android(Kotlin) 고차함수, let, with, apply, run (0) | 2021.11.20 |
---|---|
Android(Kotlin) 클래스 형변환(as), 클래스 형체크(is) (0) | 2021.11.20 |
Android(Kotlin) Array, List, Map, Set (0) | 2021.11.20 |
Android(Kotlin) null(?), lateinit, lazy (0) | 2021.11.20 |
Android(Kotlin) 인터페이스(interface) (0) | 2021.11.20 |
최근댓글