Scala에서 퍼스트 클래스 객체(first class object)는 변수에 대입하거나
함수의 반환값으로 다룰 수 있다. 즉, 값의 성질을 갖는 객체다.
자바에서 메서드에 해당하는 함수를 함수 객체에 대입하거나
함수의 반환값으로 함수를 돌려주는 것이 가능하다.
def isEven(i:Int) = i % 2 == 0
val func = isEven _
println( isEven(4) )
println( isEven(3) )
println( func(4) )
println( func(4) )
println( func(3) )
이 코드는 함수를 변수에 대입하고 이를 호출하는 것.
함수 포인터 같다는 느낌...??
TAG PRG