본문 바로가기
프로그래밍/코틀린

K011. 코틀린 함수(Functions) 깊게 살펴보기 - Functions 파트2

by K-인사이터 2024. 2. 6.
반응형

안녕하세요

K-IN 입니다.

 

코틀린 함수(Functions)에 대해서 알아보겠습니다. 

전체 강의 목록은 아래의 링크를 클릭해주세요.

 

K000. 코틀린 시리즈 (연재물)

안녕하세요 K-IN 입니다. 요즘 코틀린을 이용한 개발 프로젝트가 늘어나고 있습니다. 이에, 코틀린에 대해서 상세하게 정리하는 간행물을 제작하고자 합니다. 여기에 있는 링크들은 모두 코틀린

k-in.tistory.com

 

 

코틀린 함수(Functions) 

코틀린에서 함수에 대해서 이해하려면 아래의 개념들을 숙지해야합니다. "☆" 표기는 중요도를 나타냅니다.

분량이 많아 이글에서는 5~6번 항목까지만 다룹니다. 

 

이전 내용 파트1을 배우려면 아래의 링크로 이동해주세요. 

 

K010. 코틀린 함수(Functions) 깊게 살펴보기 - Functions 파트1

안녕하세요 K-IN 입니다. 코틀린 함수(Functions)에 대해서 알아보겠습니다. 전체 강의 목록은 아래의 링크를 클릭해주세요. 2024.01.31 - [코틀린] - K000. 코틀린 시리즈 (연재물) K000. 코틀린 시리즈 (연

k-in.tistory.com

 

  1. 기본적인 함수 구조 ☆
  2. 함수 사용 방법 ☆
  3. 기본 인자(Default Arguments) ☆☆
  4. 이름지정 인자(Named Arguments) ☆☆
  5. 단일 표현식 함수(Single-expression Functions) ☆☆☆
  6. 명시적 리턴 타입(Explicit Return Types)
  7. 가변변수 (varargs) ☆☆☆
  8. 중위 표기법 (Infix Notation) ☆☆☆
  9. 함수의 범위 (Function Scope) ☆☆☆
  10. 제너릭 함수 (Generic Functions) ☆☆☆

코틀린 함수의 단일 표현식 함수(Single-expression Functions)

코틀린에서 단일 표현식 함수(Single-expression functions)는 함수 코드 블록이

하나의 표현식(expression)으로만 이루어졌을 때 사용되는 코드 패턴입니다. 

 

아래의 기본구조를 갖추고 있습니다. 

fun 함수명(파라미터이름: 타입): 반환타입 = 표현식

 

코드를 간결하게 표현할 수 있어 효율성과 가독성이 높아집니다. 

아래의 코드를 통해서 비교해볼 수 있습니다. 

// 일반적인 함수 정의 
fun square(x: Int): Int {
    return x * x
}

// 단일 표현식 함수 정의
fun square(x: Int): Int = x * x

 

여기서 만약 컴파일러가 반환타입을 추론할 수 있다면 반환 타입까지 생략이 가능합니다. 

// 단일 표현식 함수 정의 (반환 타입 생략)
fun square(x: Int) = x * x

 

코틀린 함수의 명시적 반환 타입(Explicit Return Types)

블록 방식으로 구현된 함수는 Unit을 반환하는 경우가 아니라면 반환 타입을 명싱적으로 지정해야 합니다. 

아래의 에러는 반환타입을 명시적으로 지정하지 않을 경우 발생하며 컴파일러 에러입니다.

(Type mismatch: inferred type is Int but Unit was expected)

 

코틀린은 함수의 반환 타입(return types)에 대해서 추론을 하지않습니다. 

이는 함수가 복잡한 제어 로직을 가질 경우, 타 개발자에게(혹은 컴파일러에게도) 반환 타입이 명확하지 않을 수 있기 때문입니다. 

 

이번 시간에 배운 개념들을 종합한 코드입니다.

수정하면서 배운 개념들을 연습해봅니다. 

 

 

이상입니다.

K-IN 올림. 

반응형