멤버 확장 함수의 사용을 피하라 어떤 클래스에 대한 확장함수를 정의할 때 이를 멤버로 추가하는 것은 좋지 않음 암묵적 접근을 할 때 두 리시버 중에서 어떤 리시버가 선택될지 혼란스러움 class A { val a = 10 } class B { val a = 20 val b = 30 fun A.test() = a + b // 40일까? 50일까? } fun main() { B().apply { println(A().test()) } // 정답 : 40 } 확장함수가 외부에 있는 다른 클래스를 리시버로 받을 경우, 해당 함수가 어떻게 동작하는지 애매모호하게 됨 class A { var state = 10 } class B { var state = 20 fun A.update() = state + 10 // ..