Vintage appMaker의 Tech Blog

[kotlin] infix 함수 예제 본문

Source code or Tip/Android(Java, Kotlin)

[kotlin] infix 함수 예제

VintageappMaker 2021. 2. 5. 00:56

infix 함수는 객체가 도트(.) 연산자를 사용하지 않고 빈칸 이후 함수명을 그대로 사용할 때 사용한다. 

이렇게 하는 이유는 영어를 쓰는 사용자의 입장에서는 구어체처럼 편하게 느껴지기 때문이다.  주로 확장함수나 멤버함수로 구성되어 있고 함수를 정의할 때 infix를 사용하면 일반 함수와 정의하는 것이 같다.

class RankMyCompany {
    val m = mapOf<String, Int>(
            "일이좋다"   to 25,
            "자부심"     to 30,
            "높은연봉"   to 25,
            "유명회사"   to 20,
            "야근당연"   to -60)

    var 만족도 : Int = 0

    // infix는 확장함수나 멤버함수로 구현되어야 한다.
    infix fun AddPoint(s : String) : Int{
        this.만족도 += m[s]!!
        return this.만족도
    }
}

fun main(args: Array<String>) {
    // 삶은 이런 것!!
    var MyCompany = RankMyCompany()
    MyCompany AddPoint "일이좋다"
    MyCompany AddPoint "자부심"
    MyCompany AddPoint "높은연봉"
    MyCompany AddPoint "유명회사"
    MyCompany AddPoint "야근당연"

    println(MyCompany.만족도)
}

 

💻 Online IDE → 웹에서 예제실행

 

 

Comments