코틀린

09. 함수

mks160615 2025. 1. 29. 04:02

이 장에서는 이전에 잠깐 언급하였던 함수에 대해 소개하겠다.

 

함수란

프로그램 소스 코드에서 일정한 동작을 수행하는 코드의 집합을 뜻한다.

 

함수를 사용하는 이유는?

동일한 코드를 여러 번 사용할 때 함수를 통해 하나의 논리적 단위로 사용하면 코드 재사용성 증가, 가독성 향상, 유지보수에 큰 도움이 된다.

 

종류

매개 변수를 받느냐, 반환할 값이 있느냐에 따라 네 가지로 나누어진다.

* 매개 변수: 함수가 외부에서 데이터를 받아오는 변수이다.

* 반환 값: 함수가 외부로 선언해야 할 값이다.

 

반환할 값이 있는 함수

반환할 자료형과 함수 내부에서 반환할 값을 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은 생략 가능한 자료형처럼 생략해도 무방하다.

 

 

GitHub - KrillM/Kotlin_Again: init project

init project. Contribute to KrillM/Kotlin_Again development by creating an account on GitHub.

github.com

 

'코틀린' 카테고리의 다른 글

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