본문 바로가기

차근차근 코틀린

차근차근 Kotlin(5) - 함수

함수는 fun으로 정의하고 사용법은 다음과 같다.

fun 함수명(파라미터 이름: 타입): 반환타입{
	return 값
}

여기서 소괄호()안에 기술된 입력값을 'parameter(파라미터)'라고 한다.

파라미터와, 리턴값은 함수의 기능에 따라 정의하지 않을 수도 있다.

 

fun main() {
    println("사각형의 넓이는 ${square(2,4)}입니다.")
}

fun square(x:Int, y:Int) : Int {
    return x*y
}

<파라미터와 리턴값이 모두 있는 함수>

 

fun printSum(a:Int, b:Int){
    println("a + b = ${a+b}")
}

<리턴값이 없는 함수>

 

함수의 사용

fun main() { 
    println("사각형의 넓이는 ${square(2,4)}입니다.")
    printSum(11,27)
}

<위에서 정의했던 두 함수들을 사용한 예시>

 

fun main() {
    Person("Alex")
}

fun Person(name : String, age : Int = 25, city : String = "Seoul"){
    println("My name is ${name}. I'm ${age}years old and came from ${city}")
}

- 파라미터를 정의할 때 기본값을 설정할 수 있다

- 파라미터가 기본값을 가지면 함수를 호출할 때 기본값이 설정되지 않은 파라미터에만 값을 입력하면 된다.

- 물론 기본값을 가지고 있더라도 함수 호출시 새로운 값을 설정할 수도 있다. ex) Person("Peace", 27, "Incheon")

 

fun main() {
    lotsOfParameters(orange = 2,apple = 6,strawberry = 8,peach = 3,grape = 4)
}

fun lotsOfParameters(apple:Int, orange:Int, strawberry:Int, grape:Int, peach:Int){
    print(apple+orange+strawberry+grape+peach)
}

· 파라미터가 너무 많아서 헷갈릴 때 순서와 상관없이 정의된 파라미터 이름을 지정해서 직접 값을 입력할 수 있다.