본문 바로가기
Language/Kotlin

Kotlin에서 Util 함수 작성하기 - Top-Level Functions

by 돈코츠라멘 2019. 10. 14.

Java에서 Util 함수를 만들 때는 주로 Util class를 만들어서 사용하였다. 이런 Util 작성 패턴을 Kotlin에서 그대로 사용하면 아래와 같은 코드가 된다.

// Don't
object MapUtils{
    fun Map2JsonString(map: mutableMap) : String{
        return objectMapper.writeValueAsString(map)
    }
}

// Usage
val map: MutableMap<String, Any?> = mutableMapOf("K" to "V")
MapUtils.Map2JsonString(map) // {"K":"V"}

하지만, Kotlin에서는 Top-Level Function을 대신 사용하는 것이 좋다. Java에서와 같이 추가로 Util class를 작성할 필요도 없으며, 가독성도 훨씬 좋다.

// Do
fun mutableMap.toJsonString(): String = objectMapper.writeValueAsString(this)

// Usage
val map: MutableMap<String, Any?> = mutableMapOf("K" to "V")
map.toJsonString() // {"K":"V"}

 

 


Reference

댓글