kotlin 기초 2

김동현·2022년 10월 12일

1. Lamda

람다식은 우리가 마치 value 처럼 다룰 수 있는 익명함수이다.
1) 메소드의 파라미터로 넘겨줄수가 있다. fun maxBy(a :Int)
2) return 값으로 사용할 수가 있다.

람다의 기본정의
val lamdaName : Type = {argumentList -> codeBody}

val square = {number : Int -> number*number}

확장함수

val P : String.() -> String = {this + "Pizza"}

람다의 Return

val ca :(Int) -> String = {
    when(it)
    {
        in 1..100 -> "OK"
        else -> "no"
    }
}

람다를 표현하는 2가지 방법

fun main() {
   val lamda : (Double) -> Boolean = {number : Double ->
   number == 5.23}
   println(invokelamda(lamda))
}

fun invokelamda(lamda : (Double) -> Boolean) : Boolean {
    return lamda(5.23)
}
  1. 람다 리터럴
println(invokelamda({true}))
   println(invokelamda({it > 3.23}))

마지막 파라미터가 람다식일때
== invokelamda {it > 3.23}

  1. 익명 내부함수
button.setOnClickListener(object : View.OnClickListener{
	override fun onClick(p0: View?) {
    }
})
  1. Kotlin interface가 아닌 자바 interface여야 합니다.
  2. 그 인터페이스는 딱 하나의 메소드만 가져야 합니다.
button.setOnClickListener{
}

data class

data class ticket(val name : String, val seatNum : Int)
// toString(), hashCode(), equals(), copy()


companion Object

자바의 static 역할


Object

싱글턴 패턴
한 객체만 생성

profile
김김동현

0개의 댓글