다음 예제로 순수 함수와 순수하지 않은 함수를 살펴보자.

    예제 3-1 순수 함수와 순수하지 않은 함수

    class FunFunctions {
    
        var percent1 = 5
        private var percent2 = 9
        val percent3 = 13
    
        fun add(a: Int, b: Int): Int = a + b
    
        fun mult(a: Int, b: Int?): Int = 5
    
        fun div(a: Int, b: Int): Int = a / b
    
        fun div(a: Double, b: Double): Double = a / b
    
        fun applyTax1(a: Int): Int = a / 100 * (100 + percent1)
    
        fun applyTax2(a: Int): Int = a / 100 * (100 + percent2)
    
        fun applyTax3(a: Int): Int = a / 100 * (100 + percent3)
    
        fun append(i: Int, list: MutableList<Int>): List<Int> {
            list.add(i)
            return list
        }
    
        fun append2(i: Int, list: List<Int>) = list + i
    }
    
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.