[Kotlin] 3-1. 함수의 정의와 호출

2022. 6. 3. 17:54·Kotlin/Kotlin In Action
728x90

[ 함수의 인자에 이름을 붙이자 ]

 

∘ 코틀린으로 작성한 함수를 호출할 때, 함수에 전달하는 인자 중 일부(또는 전부)의 이름을 명시할 수 있다.

 

fun main() {
//    val area = getArea(3, 5)
    val area = getArea(
        width = 3,
        height = 5
    )
}

fun getArea(width: Int, height: Int): Int {
    return width * height
}

 

 


[ default parameter ]



∘ 함수를 정의할때 인자에 default값을 지정할 수 있다.

∘ default값이 존재하는 인자는 호출할 때 제외 가능

 

fun main() {
    getArea(width = 2, height = 4) // 2*4 = 8
    getArea() // 3*5 = 15
    getArea(4) // 4*5 = 20
    getArea(height = 6) // 3*6 = 18
}

fun getArea(width: Int = 3, height: Int = 5): Int {
    return width * height
}

 

 


 

[ 정적인 유틸리티 클래스 없애기:  최상위 함수와 파라미터 ]

 

∘ 클래스 내부에 포함시키기 어려운 코드가 많이 생긴다. 

∘ 코틀린에서는 함수&프로퍼티를 파일의 최상위(클래스 밖)에 위치시킬 수 있다.

 

// Java
class Main {
    public static void main(String[] args){
        int price = Phone.price;
        int doublePrice = Phone.getDoublePrice();
    }
}

class Phone {
    static int price = 3000;
    
    static int getDoublePrice() {
        return price * 2;
    } 
}

 

 

// kotlin
val price = 3000
fun getDoublePrice() = price * 2

class Main {
    fun main() {
        val price = price
        val doublePrice = getDoublePrice()
    }
}

 

 

728x90
저작자표시 (새창열림)

'Kotlin > Kotlin In Action' 카테고리의 다른 글

[Kotlin] 3-2. 확장 함수 (extension function)  (0) 2022.06.03
[Kotlin] 2-5. 코틀린의 예외 처리  (0) 2022.05.15
[Kotlin] 2-4. 이터레이션: while & for  (0) 2022.05.15
[Kotlin] 2-3. 선택 표현과 처리 : enum과 when  (0) 2022.05.15
[Kotlin] 2-2. 클래스와 프로퍼티  (0) 2022.04.03
'Kotlin/Kotlin In Action' 카테고리의 다른 글
  • [Kotlin] 3-2. 확장 함수 (extension function)
  • [Kotlin] 2-5. 코틀린의 예외 처리
  • [Kotlin] 2-4. 이터레이션: while & for
  • [Kotlin] 2-3. 선택 표현과 처리 : enum과 when
gudwnsgur
gudwnsgur
IT
    250x250
  • gudwnsgur
    gudwnsgur
    gudwnsgur
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 개발이야기
      • Spring
        • 이슈 해결
      • JPA
        • spring data jpa
      • Java
        • Java의 정석
      • Kotlin
        • Kotlin In Action
        • Kotlin 정리
      • 대규모 시스템 설계 기초
      • JavaScript
        • JS ES6+
      • 면접
        • CS
      • SQLD
      • BE 개발
        • spring webflux
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    cookie
    대규모 시스템 설계 기초
    session
    HTTP
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
gudwnsgur
[Kotlin] 3-1. 함수의 정의와 호출
상단으로

티스토리툴바