[코틀린] 메소드

함수(Function)

함수란, 어떤 Input을 넣어주면 어떤 Output이 나오는 것이다.

학생 때 수학 시간에 배운 함수를 예를 들어보면, y = x + 2라는 함수에서 x에 2를 넣으면 y는 4가 되는 함수를 본 적이 있을 것이다. 코틀린 함수도 우리가 수학 시간에 배운 함수와 동일하다.


함수를 선언하는 방법

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

    함수 내용

    return 반환 값

}

// fun 함수명 (변수명: 타입, 변수명: 타입...) : 반환형 {
  fun plus(first: Int, second: Int): Int {   

          // 함수 내용 
          val result: Int = first + second       

         // return 반환 값
          return result                                     
  }

함수를 호출하는 방법

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

  // 함수를 호출하는 방법 
    fun main(array: Array <string>){
            val result = plus (5,10)
            println (result)
  }               
10

인수를 명시적으로 전달하는 방법

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

    // 인수를 명시적으로 전달하는 방법 
     fun main(array: Array <string>){
              val result2 = plus (first = 20, second = 30)
              println (result2)
    }               
50

디폴트 값을 갖는 함수 만들기

 // 디폴트 값을 갖는 함수 만들기
  fun plusFive(first: Int, second: Int = 5): Int {
            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)
  }           
30
15

반환 값이 없는 함수 만들기

//  Unit는 생략해도 된다.
  fun printPlus(first: Int, second: Int):Unit {         
          val result: Int = first + second 
          println (result) 
  }

  fun main(array: Array <String>){ 
          printPlus (10,20) 
  }
30

간단하게 함수를 선언하는 방법

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

  fun main(array: Array <String>) { 
          val result6 = plusShot(50, 50) 
          println(result6)

  }
100

실습 1

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

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

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

  fun main(array: Array <String>){ 
          val result = plusThree (1,2,3) 
          println (result) 

          val result2 = minusThree (10,1,2) 
          println (result2) 

          val result3 = multiplyThree(2,2,2) 
          println (result3) 
  }
6
7
8

 

댓글

Designed by JB FACTORY