더북(TheBook)

함수가 파라미터를 받지 않는다고 해도 파라미터를 감싸는 괄호는 꼭 있어야 한다는 점에 유의하자. 예를 들면 다음과 같다.

fun readInt(): Int {
  return readLine()!!.toInt()
}

fun main() {
  println(readInt())
}

자바와 마찬가지로 함수의 결괏값을 return 문으로 지정한다. return 문은 함수 실행을 끝내고 호출한 쪽에 제어를 돌려준다. return 문 다음에 위치한 코드는 실질적으로 죽어있는 코드이며, 결코 실행되지 않는다.

자바 vs. 코틀린 자바와 달리 코틀린에서 도달할 수 없는 코드(unreachable code)는 오류가 아니다. 하지만 컴파일러는 경고를 표시하고 IDE는 해당 부분을 강조해주기 때문에 그림 3-1처럼 코드 중 일부가 죽은 코드임을 쉽게 알 수 있다.

▲ 그림 3-1 도달할 수 없는 코드를 강조한 IDE

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.