티스토리 뷰

728x90

 


함수

1. 함수의 의미

• 함수 = function

• 재료를 넣어주면 완제품이 나오는 공장과 같다.

 

2. 함수의 형태

• 기본형

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

            함수 내용

            함수 내용

            ...

            return 반환 값

       }

fun plusNumbers(firstNumber: Int, secondNumber: Int): Int {
    val RESULT: Int = firstNumber + secondNumber
    return RESULT
}
val RESULT: Int = plusNumbers(firstNumber = 3, secondNumber = 5) // 8
val RESULT2: Int = plusNumbers(6, 5) // 11
println(RESULT)
println(RESULT2)

 

• 기본 값이 있는 함수
     - fun 함수명 (변수명: 타입 = 기본 값, 변수명: 타입, ...): 반환타입 {
            함수 내용
            함수 내용
            ...
            return 반환 값
       }

fun plusNumbersWithDefault(firstNumber: Int, secondNumber: Int = 10): Int {
    return firstNumber + secondNumber
}
val RESULT3: Int = plusNumbersWithDefault(10, 20) // 30
val RESULT4: Int = plusNumbersWithDefault(10) // 20
println(RESULT3)
println(RESULT4)

 

• 반환 값이 없는 함수
     - fun 함수명 (변수명: 타입, 변수명: 타입, ...): Unit(또는 생략) {
            함수 내용
            함수 내용
            ...
       }

fun plusNumberWithNoReturn(firstNumber: Int, secondNumber: Int): Unit { // 반환타입 Unit
    val RESULT: Int = firstNumber + secondNumber
    println(RESULT)
}
fun plusNumberWithNoReturn2(firstNumber: Int, secondNumber: Int) { // 반환타입 생략
    val RESULT: Int = firstNumber + secondNumber
    println(RESULT)
}
fun plusNumberWithNoReturn3(firstNumber: Int, secondNumber: Int): Unit {
    val RESULT: Int = firstNumber + secondNumber
    println(RESULT)
    return // return 명시 but 반환값 X
}
plusNumberWithNoReturn(100, 200) // 300
plusNumberWithNoReturn2(101, 201) // 302
plusNumberWithNoReturn3(102, 202) // 304

 

• 간단하게 선언하는 방법
     - fun 함수명 (변수명: 타입 = 기본 값, 변수명: 타입, ...) = 함수 내용
     - 함수 내용이 간단할 때만 보기 편함.

fun shortPlusNumbers(firstNumber: Int, secondNumber: Int) = firstNumber + secondNumber
val RESULT5: Int = shortPlusNumbers(10, 20) // 30
println(RESULT5)

 

• 가변 인자를 갖는 함수
     - vararg : variable argument

    - 인자의 개수가 정해져있지 않을 때
     - fun 함수명 (vararg 변수명: 타입): 반환타입 {
            함수 내용
            함수 내용
            ...
            return 반환 값
       }

fun plusMultipleNumbers(vararg numbers: Int): Unit {
    for (number in numbers) {
        println(number)
    } // numbers에 들어온 값들을 하나하나 돌면서 println을 진행한다.
}
plusMultipleNumbers(1, 2, 3, 4, 5)

 

* 호출하는 함수에 ctrl + 좌클릭 하면 해당 함수의 선언부로 이동한다.

 

코틀린에서의 함수 자료형

• Unit

     - 반환 값이 없는 자료형이 사용.     - 자바의 void와 비슷한 역할.

 

• Nothing

     - 무언가 잘못되었다는 것을 명시적으로 알려주는 함수에 사용.

     - 함수의 자료형이 Nothing이라면 함수 내용을 전부 읽지 않아도 어딘가 잘못되었을 때 호출되는 함수임을 알 수 있음.

 

 

 

 

 

 

 

이 글은

패스트 캠퍼스 Android 앱 개발의 정석 with Kotlin 올인원 패키지 Online

강의를 듣고 공부한 내용을 바탕으로 작성되었습니다.

 


728x90

'📱 Android > 💻 Kotlin' 카테고리의 다른 글

[Android/Kotlin] 7. 배열  (0) 2022.10.04
[Android/Kotlin] 6. 흐름 제어  (1) 2022.10.04
[Android/Kotlin] 4. 연산자  (1) 2022.09.30
[Android/Kotlin] 3. Null  (1) 2022.09.30
[Android/Kotlin] 2. 자료형  (2) 2022.09.30
댓글
공지사항