Kotlin :: 프로그래밍 언어 배우기 (기본함수)

Android/Kotlin 2020.10.05 댓글 moonsu
728x90

본 문서는 안드로이드 개발자 가이드 를 토대로 작성되었습니다.

 

함수

 

1. 함수선언

동일한 코드를 중복해서 사용하는 대신 함수에 코드를 포함한 다음 호출 할 수 있다.

코틀린의 함수 구조는 다음과 같다.

 

fun 함수이름 ( 매개변수이름 : 타입 ) : 반환타입

 

fun generateAnswerString(): String { // 매개변수가 없는 경우 아무것도 쓰지 않는다.
    val answerString = if (count == 42) {
        "I have the answer."
    } else {
        "The answer eludes me"
    }

    return answerString
}

위 예에서 함수의 잉름은 generateAnswerString 이고, 매개변수는 없으며, String  타입의 결과를 출력한다. 함수를 호출하기 위해선 함수 이름 뒤에 ()를 사용한다. 아래 예에서 변수 answerString는 함수 generateAnswerString()의 결과값으로 초기화 된다.

val answerString = generateAnswerString()

아래 예는 매개변수(입력값)이 포함된 함수이다.

fun generateAnswerString(countThreshold: Int): String { // Int 타입의 값을 입력받는다.
    val answerString = if (count > countThreshold) {
        "I have the answer."
    } else {
        "The answer eludes me."
    }

    return answerString
}

매개변수가 포함된 함수의 호출은 아래와 같다.

val answerString = generateAnswerString(42)

 

2. 함수 선언 단순화

generateAnswerString()와 같이 간단한 함수의 경우 아래 예들과 같이 함수를 단순화 시킬 수 있다. 첫번째 예는 변수 생성 없이 바로 반환하는 방법이다.

// 함수 선언 단순화_ 변수 생성 없이 바로 반환
fun generateAnswerString(countThreshold: Int): String {
    return if (count > countThreshold) {
        "I have the answer."
    } else {
        "The answer eludes me."
    }
}

반환 타입에 연산자를 할당할 수도 있다.

fun generateAnswerString(countThreshold: Int): String = if (count > countThreshold) {
        "I have the answer"
    } else {
        "The answer eludes me"
    }
728x90
반응형

댓글