본문 바로가기
Kotlin

[코틀린] 함수 종류들

by Sky Titan 2020. 9. 18.
728x90

인라인 함수 (Inline Function)

  • 해당 함수가 호출되는 곳에 함수 본문의 내용을 모두 복사해 넣어 함수의 분기없이 처리
  • 코드 성능 높임
  • 내용이 대게 짧음
  • CPU, 메모리 비용 아낌
fun main() {

    temp(3,5)
    temp(2,7)
//인라인 키워드가 없으면 2번 분기
}

inline fun temp(a : Int, b : Int)
{
 println(a)
 println(b)
}

 

 

확장 함수 (Extension Function)

  • 기존 클래스에 내가 원하는 멤버 메서드를 추가해서 확장시켜서 사용할 수 있는 기능
fun main() {

    var a = 3
    a.plusmore(5)
}

fun Int.plusmore(other : Int) : Int
{
    println("wow")
    return this + other
}

 기존의 Int 클래스에 plusmore이라는 함수를 추가해서 사용

 

 

중위 함수 (Infix Function)

  • 멤버 함수를 호출할 때, '.'과 괄호를 생략하여서 함수명을 연산자의 역할로 구현할 수 있는 함수
  1. 멤버 메서드, 혹은 확장 함수여야 함
  2. 1개의 파라미터만 가져야 한다.
  3. infix 키워드 사용
import kotlin.math.absoluteValue


infix fun Int.add(a : Int) : Int
{
    return absoluteValue + a
}

fun main() {

    println(5 add 5)
    /* 결과
    10
    */

}

 

728x90

'Kotlin' 카테고리의 다른 글

[코틀린] 상속  (0) 2020.09.18
[코틀린] break와 continue에 라벨 사용  (0) 2020.09.18
[코틀린] 콜백 함수  (0) 2020.09.18
[코틀린] 함수형 프로그래밍  (0) 2020.09.18
[코틀린] 함수 선언 및 사용  (0) 2020.09.18

댓글