ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 확장 함수 복습
    카테고리 없음 2024. 1. 26. 14:16

    정의: 기존에 있던 클래스에 새로운 함수를 추가하는 기능

     

    예시)

    fun 클래스이름.함수이름(인자): 리턴타입 { 
        // TODO 
    }

     

     

    3자리마다 콤마를 넣어주면서 소수점 2자리까지만 보여주고 싶다면

    아래처럼 확장 함수로 만들어서 이런 식으로 사용하면 될 것 같다.

    private const val DEFAULT_FORMAT = "#,##0.##"
    private val decimalFormat = DecimalFormat(DEFAULT_FORMAT)
    
    internal fun Double.format(): String = decimalFormat.format(this)
    internal fun Int.format(): String = decimalFormat.format(this)
    
    fun main(args: Array<String>) {
        println(5205827.format()) // 5205827 -> 5,205,827
        println(1582.5928757.format()) // 1582.5928757 -> 1,582.59
    }

     

    확장 함수 기능이 편하다고 남발하면 객체 지향을 해칠 수 있다.
    진짜 필요한 경우에만 사용하는 것이 좋다.

     

Designed by Tistory.