반응형
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 |
최근댓글