이 장에서는 이전에 잠깐 언급하였던 함수에 대해 소개하겠다.
함수란
프로그램 소스 코드에서 일정한 동작을 수행하는 코드의 집합을 뜻한다.
함수를 사용하는 이유는?
동일한 코드를 여러 번 사용할 때 함수를 통해 하나의 논리적 단위로 사용하면 코드 재사용성 증가, 가독성 향상, 유지보수에 큰 도움이 된다.
종류
매개 변수를 받느냐, 반환할 값이 있느냐에 따라 네 가지로 나누어진다.
* 매개 변수: 함수가 외부에서 데이터를 받아오는 변수이다.
* 반환 값: 함수가 외부로 선언해야 할 값이다.
반환할 값이 있는 함수
반환할 자료형과 함수 내부에서 반환할 값을 return 처리한다.
fun 함수 이름(변수명: 자료형): 반환할 자료형{ // 매개 변수는 생략이 가능하다.
return 값
}
매개 변수가 있는 함수
fun func1(name: String) : String {
return "My name is $name" // 반환할 값이 문자열이므로 String으로 선언하였다.
}
매개 변수가 없는 함수
fun func2() : Int {
return 3*4
}
반환할 값이 있는 함수는 메인 함수에서 출력을 할 때 아래와 같이 진행한다.
// 매개 변수와 반환 값이 있는 함수
var name = func1("Jihoon") // 반환할 값을 다른 변수를 통해 선언한다.
println(name) // 선언한 변수를 출력한다.
// 반환 값만 있는 함수
var result = func2()
println(result)
반환할 값이 없는 함수
반환할 값이 없을 때 출력을 할 경우 println()함수를 함수 안에 선언한다.
fun 함수 이름(변수명: 자료형){
println(값)
}
* println()역시 다른 클래스에서 사용하는 함수이다. 그런데 이 함수는 매개 변수가 없어도 정상적으로 동작이 되는데 이 개념은 오버로딩을 알아야만 이해할 수 수 있다.
매개 변수가 있는 함수
fun func3(name: String, num: Int){ // 매개 변수의 개수는 제한이 없다.
println("$name : $num")
}
매개 변수가 없는 함수
fun func4() : Unit{
println("Box Only")
}
* 반환값이 없는 함수는 사실상 Unit을 통해 반환하고 있다. 다만 반환값을 따로 선언하지 않았다면 코틀린은 반환값이 없는 함수로 인식하고 자동으로 처리한다. 따라서 Unit은 생략 가능한 자료형처럼 생략해도 무방하다.
'코틀린' 카테고리의 다른 글
11. 객체 지향 프로그래밍 (0) | 2025.01.29 |
---|---|
10. 자료 구조 (0) | 2025.01.29 |
08. String Template (0) | 2025.01.29 |
07. 제어문 - 조건문 - when (0) | 2025.01.29 |
06. 제어문 - 조건문 - if (0) | 2025.01.28 |