728x90
반응형
안녕하세요.
이번 포스팅은 Kotlin에서 사용하는 메서드를 알아보겠습니다.
함수 : 어떤 input을 넣어주면 어떤 output이 나오는 것
※ 함수를 선언하는 방법
fun 함수명(변수명: 타입, 변수명: 타입 ...) : 반환형 {
함수 내용
return 반환값
}
다음은 더하기 함수를 만들어 보겠습니다.
fun plus(first: Int, second: Int) : Int {
println(first)
println(second)
var result: Int = first + second
println(result)
return result
}
다음은 디폴트 값을 갖는 함수를 만들어보겠습니다.
fun plusFive(first: Int, second: Int=5) : Int {
var result : Int = first + second
return result
}
디폴트 값을 갖게 해주는 경우, 매개변수에 "변수명: 타입" 뒤에 "= n"을 붙여줌으로써 값을 정해줄 수 있습니다.
다음은 반환 값이 없는 함수를 만들어보겠습니다.
fun printPlus(first: Int, second: Int) : Unit {
var result : Int = first + second
println(result)
}
뒤에 Unit을 안붙여도 되지만 명시적으로 적어 줄 수도 있습니다.
fun printPlus2(first: Int, second: Int) {
var result : Int = first + second
println(result)
}
이처럼 유닛을 붙이지 않아도 코틀린에서 디폴트로 처리해주는 것 같습니다.
함수를 간단하게 선언하는 방법도 있습니다.
fun plusShort(first: Int, second: Int) = first + second;
가변 인자를 갖는 함수를 선언하는 방법입니다.
fun plusMany(vararg numbers: Int) {
for(nunmber in numbers) {
println(number)
}
}
다음은 위의 함수들을 호출하는 main 함수입니다.
메인은 디폴트로 Unit이 숨어져있다고 생각하면 됩니다.
fun main(array: Array<String>) {
// 함수를 호출하는 방법
var result = plus(5, 10)
println(result)
// 인수를 명시적으로 전달하는 방법
var result2 = plus(first = 20, second = 30)
println(result2)
var result3 = plus(second = 100, first = 10)
println(result3)
// 디폴트 값을 갖는 함수 호출하기
println()
var result4 = plusFive(10, 20)
println(result4)
var result5 = plusFive(10)
println(result5)
println()
printPlus(10, 20)
println()
var result6 = plusShort(50, 50)
println(result6)
println()
plusMany(1,2,3)
plusMany(100)
}
좀 더 나아가서 실습을 해보겠습니다
return에 바로 매개변수들의 계산을 넣을 수 있습니다.
fun plusThree(first :Int, second: Int, third: Int) : Int {
return first + second + third
}
fun minusThree(first :Int, second: Int, third: Int) = first - second - third
fun multiplyThree(first: Int=1, second: Int=1, third: Int=1): Int {
return first*second*third
}
내부 함수를 이용하여 함수 안에 함수를 넣을 수 있습니다.
// 내부 함수
// 함수 안에 함수가 있다
fun showMyPlus(first: Int, second: Int) : Int {
println(first)
println(second)
// return first + second
fun plus(first: Int, second: Int) : Int {
return first + second
}
return plus(first, second)
}
위의 함수들을 호출하는 main함수 입니다.
fun main(array: Array<String>) {
val result = plusThree(1,2,3)
println(result)
val result2 = minusThree(10,1,2)
println(result2)
val result3 = multiplyThree(2,2,2)
println(result3)
val result4 = multiplyThree()
println(result4)
var result5 = showMyPlus(4,5)
println(result5)
}
728x90
반응형
'모바일 > Kotlin' 카테고리의 다른 글
[Kotlin] 코틀린 제어흐름(2) - when 구문 (0) | 2021.03.30 |
---|---|
[Kotlin] 코틀린 제어흐름(1) (0) | 2021.03.28 |
[Kotlin] 코틀린 연산자 (0) | 2021.03.28 |
[Kotlin] 코틀린이란?, 코틀린의 변수와 자료형 (0) | 2021.03.11 |
[Kotlin] 프로젝트 생성하기 (0) | 2021.03.08 |
댓글