Kotlin - 함수 형태

CODEDRAGON Development/Kotlin

반응형


 

 

함수 형태 - 출력과 입력형태에 따른 분류

http://codedragon.tistory.com/5249

 

 

 

Kotlin - 함수 형태

·       함수의 형태 1 - 출력형태O 입력형태O

·       함수의 형태 2 - 출력형태O 입력형태X

·       함수의 형태 3 - 출력형태X 입력형태O

·       함수의 형태 4 - 출력형태X 입력형태X

 

 

함수의 형태 1 - 출력형태O 입력형태O

출력 형태

있음(Int) -> O

입력 형태

있음(x: Int,  y: Int) -> O

해석

x, y 입력 받아

plus() 함수의 기능을 처리하고

int으로 출력

출력시

출력 형태가 있어 함수 내에서 반드시 return문을 사용해야 합니다.

 

//함수 정의 형태 - OO

fun plus( x: Int,  y: Int) : Int

{//함수의 시작

        var result: Int

        result = x + y

        return result;     //반환값

 

}//함수의 종료

 

 

 

함수의 형태 2 - 출력형태O 입력형태X

출력 형태

있음(Int)  -> O

입력 형태

없음() -> X

해석

입력 받는 없이

input() 함수의 기능을 처리하고

int으로 출력

출력시

출력 형태가 있어 함수 내에서 반드시 return문을 사용해야 합니다.

 

//함수 정의 형태 - OX

fun  input(): Int

{//함수의 시작

        var input: Int

        // !! : null safe call

        input = readLine()!!.toInt()

        println(input)

 

        return input;     //반환값

 

}//함수의 종료

 

 

 

함수의 형태 3 - 출력형태X 입력형태O

출력 형태

없음(Unit)  ->  X

입력 형태

있음(x: Int) -> O

해석

하나(x) 입력 받아

input() 함수의 기능을 처리하고

출력은 하지 않음

출력시

출력 형태가 Unit이므로 함수 내에서 return 문이 없어도 됩니다.(return생략가능)

 

//함수 정의 형태 - XO

fun input( x: Int): Unit

{//함수의 시작

        var i: Int=x

        i++

        println(i)

        return     //반환하고 종료

                      //반환형태가 없는 경우 생략가능

 

}//함수의 종료

 

 

 

함수의 형태 4 - 출력형태X 입력형태X

출력 형태

없음(Unit)  -> X

입력 형태

없음() -> X

해석

입력 없이

output() 함수의 기능을 처리하고

출력은 하지 않음

출력시

출력 형태가 void이므로 함수 내에서 return 문이 없어도 됩니다.(return생략가능)

 

//함수 정의 형태 - XX

fun output(): Unit

{//함수의 시작

        println("Hello")

        println("Kotlin World")

        return        //반환하고 종료

                      //반환형태가 없는 경우 생략가능

 

}//함수의 종료

 

 


반응형

'Development > Kotlin' 카테고리의 다른 글

Kotlin - continue label 문 형식  (0) 2018.11.26
Kotlin - Nested Branches (중첩 분기문)  (0) 2018.11.25
Kotlin - 함수 형태  (0) 2018.11.24
Kotlin - Bitwise operation (비트 연산자)  (0) 2018.11.23
Kotlin - 기본인수(Default argument)  (0) 2018.11.22
Kotlin - 연산자 종류  (0) 2018.11.21