fun sum(a: Int, b: Int): Int{
var sum = a+b
return sum
}
kotlin에서의 함수 형태
fun 함수이름(인자: 생략가능): 반환값의 자료형(반환타입, 반환값 없을 시 Unit으로){ 함수 실행문 return 반환값(생략가능) }
✋ 잠깐! Unit과 void
Kotlin에서 반환 값이 없을 때 함수의 반환 타입으로 Unit을 넣어준다.
이때 Unit은 Java의 void와 같은 역할을 수행한다.
하지만, void는 말 그대로 아무 것도 없는 값을 반환한다면 Unit은 Unit 값을 반환한다는 것이 차이점.
fun sum(a: Int, b:Int): Int = a+b
fun sum(a: Int, b:Int) = a+b
fun max(a: Int, b: Int): Int { //여기서 a,b는 매개변수
return if(a>b) a else b
}
fun main(){
val a = 3
val b = 5
val result = max(a,b) //여기서 a,b는 인자
println(result)
}
fun outfunc(name: String): Unit {
println("Name": $name")
} //return 문이 없어 보이나 return Unit이 생략된 것
fun main(){
println(outfunc())
}
fun sum(a: Int=3, b: Int=5) = a+b //특정 값을 지정하지 않으면 자동으로 a=3이, b=5가 지정됨
fun main(){
val result= sum(b=2) //매개변수에 default 값이 설정된 함수에 특정 인자 값만 넣기 위해서는, 지정할 인자와 특정 값만 넣으면 됨.
}
fun norVararg(Vararg a: Int){ //Vararg형으로 들어온 인자는 하나 이상의 인자를 받아들일 수 있게 됨.
for(num in a){
println(num)
}
}
fun main(){
norVararg(1)
norVararg(1,2,3,4)
}