ryang x2 2020. 12. 1. 00:37
728x90
반응형

# 함수 

 

● 함수를 선언하는 방법

fun 함수명(변수명: 타입, 변수명: 타입 .. ) : 반환형 {

     함수내용 

     return 반환값

}

 

예시 1) 매개변수가 있는 일반적인 함수

fun plus(first: Int, second: Int): Int {
    println(first)
    println(second)
    val result: Int = first + second
    println(result)
    return result
}

fun main(array: Array<String>){
    val result = plus(5, 10)
    println(result)
}

 

예시 2) * 순서와 관계없이 동일하게 값을 보내준다

fun plus(first: Int, second: Int): Int {
    println(first)
    println(second)
    val result: Int = first + second
    println(result)
    return result
}

fun main(array: Array<String>){
    val result2 = plus(first = 20, second = 30)
    println(result2)

    val result3 = plus(second = 30, first = 20)
    println(result3)
}

 

예시 3) 반환값이 있는 디폴트 값을 갖는 함수

fun plusFive(first: Int, second: Int = 5): Int{ // second 는 기본값을 갖는다
    val result: Int = first + second
    return result
}

fun main(array: Array<String>){

    val result4 = plusFive(10, 20)
    val result5 = plusFive(10)
    println(result4)
    println(result5)
    
}

 

예시 4) 반환값이 없는 함수 : Unit 사용 

fun printPlus(first: Int, second: Int): Unit {
    var result: Int = first + second
    println(result)
}

fun main(array: Array<String>){

    printPlus(10, 6)

}

 

예시 5) 간단하게 함수를 선언하는 방법 

fun plusShort(first: Int, second: Int) = first + second

 

예시 6) 가변인자를 갖는 함수 선언하는 방법

fun plusMany(vararg numbers:Int){
    for (number in numbers){
        println(number)
    }
}

fun main(array: Array<String>){

    plusMany(1,2,3,4,5)
    plusMany(100)

}

 

# 내부 함수 

 

예시 1)

fun minusThree(first: Int, second: Int, third: Int) = first - second - third

fun main(array: Array<String>){

    var result3 = minusThree(10,1,2)
    println(result3)
    
}

 

예시 2) 

fun multiplyThree(first: Int = 1, second: Int = 1, third: Int = -1): Int {
    return first * second * third
}

fun main(array: Array<String>){

    var result4 = multiplyThree(2,2,2)
    println(result4)
    var result5 = multiplyThree()
    println(result5)
    
}

 

예시 3) 

fun plusThree(first: Int, second: Int, third: Int): Int {
    return first + second + third
}

fun main(array: Array<String>){

    var result1 = plusThree(1,2,3)
    println(result1)
    var result2 = plusThree(10,1,2)
    println(result2)
    
}

 

 

728x90
반응형