[Kotlin] 함수 Functions

Yeon·2023년 7월 13일
0

Android

목록 보기
8/9
post-thumbnail

Function

  • Kotlin에서 하나의 기능을 구현한 명령어의 집합
  • Java의 Method에 대응되는 것
    function 구성
    • 키워드(keyword) - 함수를 선언하기 위해서는 먼저 fun 키워드를 통해 함수를 선언하겠다는 것을 명시
    • 함수 이름
      • 키워드 뒤 한칸 띄우고 명시
      • camelCase 표기법
    • 입력값
      • 입력받을 값들을 나타냄
      • 이 값은 생략 가능
      • 여러 값일 경우 ,를 통해서 이어 붙일 수 있음
      • 이름: 타입 형태
    • 리턴 타입
      • 해당 함수의 결과를 반환할 타입을 나타내는 부분
      • 생략 가능
      • 생략하면 Unit 타입의 아무것도 반환하지 않는 타입을 가지게 됨
    • 리턴 값
      • 함수 본문(body)
      • { } 블럭 사이에 함수의 본문이 들어올 수 있음
      • 함수 본문을 마무리할 때 return 키워드를 사용하여 값을 반환할 수 있음

파라미터 Parameters

  • 입력 값을 조금 더 전문적인 용어로 표현한 것
  • Pascal 표기법 사용

파라미터 기본 값 Default Arguments

  • 파라미터에 입력되지 않은 값에 대해서 기본적으로 함수를 실행할 때 그 값을 할당하여 사용하겠다는 것
  • 오버로딩의 메서드는 항상 기본 메서드의 기본 매개 변수 값을 사용
  • 각 파라미터의 뒤에 =를 붙인 뒤 할당할 기본값을 입력
fun read(
    b: ByArray,
    off: Int = 0,
    len: Int = b.size,
) { /*...*/ }

이름 명시 파라미터 Named Arguments

  • 함수를 호출할 때 이름을 선언하고 거기에 값을 매핑하는 방식
  • 순서에 구애받지 않고 값을 전달할 수 있음
  • 함수에 많은 인수가 있고 특히 bool 또는 null 값인 경우 값을 인수와 연결하기 어려운 경우에 유용할 수 있음
  • 나열되는 순서를 자유롭게 변경할 수 있음

단일 표현식 Single Expression

  • 함수가 복잡한 연산이 아닌 매우 간단한 연산을 하는 경우 매우 짧게 표기하는 방법
// 일반적인 함수
fun main() {
    println( add(1, 1, 9) )
}

fun add(a: Int, b: Int, c: Int): Int {
    return a + b + c
}


// 단일 표현식 함수
fun add(a: Int, b: Int, c: Int): Int = a + b + c

// 타환형을 타입 추론으로 생략 (int끼리 합은 int)
fun add(a: Int, b: Int, c: Int): a + b + c

0개의 댓글