coursera의 Functional Programming Principles in Scala 강좌를 들으며 중요한 개념들만 블로그에 정리해 보고자 한다. call by value : 함수를 실행하기 전에 인자들의 값을 구한다. call by name : 함수를 먼저 실행하고 인자값이 필요할 때 값을 구한다. 다음과 같이 함수가 있다고 하자. 인자값을 달리해서 각 함수를 호출할 때 어떤 속도 차이가 있는지 보자. def square1(x:Int, y:Int) = x*x def square2(x: => Double, y:Int) = x*x square1(2,3) : 2*2 -> 4square2(2,3) : 2*2 -> 4동일한 단계가 필요하다. square1(3+4,8) : square1(7,8) -> 7..