티스토리 뷰
함수
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
강의를 듣고 공부한 내용을 바탕으로 작성되었습니다.
'📱 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 |