2024-06-21
This commit is contained in:
72
Writerside/topics/Function.md
Normal file
72
Writerside/topics/Function.md
Normal file
@@ -0,0 +1,72 @@
|
||||
# 함수
|
||||
|
||||
```kotlin
|
||||
fun functionName(p1: Type1, p2: Type2, ...): ReturnType {
|
||||
...
|
||||
return result
|
||||
}
|
||||
```
|
||||
|
||||
```kotlin
|
||||
fun sum(a: INt, b: Int): Int {
|
||||
return a + b
|
||||
}
|
||||
```
|
||||
|
||||
> 함수 선언은 `fun`으로 시작합니다.
|
||||
|
||||
그 뒤에 함수 이름을 명시하고, 매개변수를 나열합니다. 각각의 매개변수 이름 뒤에 자료형을 써줍니다. 그리고 반환형의 자료형을 명시합니다.
|
||||
|
||||
```kotlin
|
||||
fun sum(a:Int, b:Int) = a + b
|
||||
```
|
||||
|
||||
함수의 바디는 블럭 대신 표현식이 될 수도 있습니다.
|
||||
|
||||
반환형이 추론 가능한 경우에는 생략할 수도 있습니다.
|
||||
|
||||
```kotlin
|
||||
fun printSum(a:Int, b:Int): Unit {
|
||||
println(a + b)
|
||||
}
|
||||
```
|
||||
|
||||
```kotlin
|
||||
fun printSum(a:Int, b:Int) {
|
||||
println(a + b)
|
||||
}
|
||||
```
|
||||
|
||||
반환 값이 없는 함수의 리턴 타입으로 `Unit`을 사용합니다. 물론, `Unit` 타입은 생략할 수 있습니다.
|
||||
|
||||
함수의 매개변수는 기본값을 가질 수 있습니다.
|
||||
|
||||
```kotlin
|
||||
fun read(
|
||||
b: ByteArray,
|
||||
offset: Int = 0,
|
||||
length: Int = b.size
|
||||
){
|
||||
// ...
|
||||
}
|
||||
```
|
||||
|
||||
전달하는 매개 변수를 명시해야 할 수도 있습니다.
|
||||
|
||||
```kotlin
|
||||
fun foo(
|
||||
bar: Int = 0,
|
||||
baz: Int
|
||||
) {
|
||||
// ...
|
||||
}
|
||||
foo(baz = 1)
|
||||
```
|
||||
|
||||
## Function 타입
|
||||
|
||||
## 람다
|
||||
|
||||
## 인라인 함수
|
||||
|
||||
## 연산자 오버로딩
|
||||
Reference in New Issue
Block a user