반응형

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
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기