코드를 사용할 수 있는 최소 단위
fun 으로 정의하고 반환값이 있는 함수는 내부에서 return 으로 값을 반환한다
(1) 반환값과 입력값이 있는 함수
fun 함수명(파라미터 이름: 타입): 반환 타입 {
return 값
}
Ex )
fun Hello (x : Int) : Int {
return x + x
}
(2) 반환값이 없는 함수
fun 함수명(파라미터 이름: 타입) {
}
Ex)
fun printSum(x: Int, y: Int) {
Log.d("fun", "x + y = ${x + y}")
}
(3) 입력값 없이 반환값만 있는 함수
fun 함수명() : 반환 타입 {
return 값
}
Ex)
fun getPi(): Double {
return 3.14
}
함수를 사용하고 싶을 때에는 함수이름 뒤에 괄호를 붙여서 호출하면 된다.
함수에 입력되는 파라미터는 변수 정의와 마찬가지로 이름: 타입 의 형태로 정의한다.
fun 함수명((val 생략) name1: String, name2: Int, name3: Double) { 실행 코드 }
fun newFunction(name: String, age: Int = 29, weight: Double = 65.5){
Log.d("fun", "name의 값은 ${name}입니다.")
Log.d("fun", "age의 값은 ${age}입니다.")
Log.d("fun", "weight의 값은 ${weight}입니다.")
}
newFunction("Hello")
/** [로그캣 출력 내용]
name의 값은 Hello입니다.
age의 값은 29입니다.
weight의 값은 65.5입니다.
*/
파라미터를 정의할 때 = 을 사용해서 기본값을 설정할 수있고,
함수를 호출하면서 값을 입력하지 않으면 설정한 기본값이 자동으로 입력된다.
2개의 Int 타입 입력 파라미터를 가지고 입력된 2개의 값을 더한 후에 반환하는 함수를 작성해보세요.
fun sum (num1 : Int , num2 : Int): Int {
return num1 +num2
}
1개의 Int 타입 입력 파라미터를 가지고 0부터 입력된 값까지 순서대로 모두 더한 후에 반환하는 함수를 작성해보세요.
fun sumAll (answer : Int): Int {
var answer = 0
var range = 0
for(i in 0..range){
answer += i
}
return answer
}
1개의 문자열 입력 파라미터를 가지고 입력된 값을 그대로 출력하는 함수를 작성해보세요.
fun print(print1: String) : String {
log.d("$print1")
}
문자열을 출력하는 함수 println("문자열")을 Log.d() 대신에 사용해보세요.
fun print(print1: String) : String {
println ("$print1")
}