[scala] 암시 implicitly

scala 2016. 11. 3. 14:02


암시(implicit)에 대한 기초 개념은 아래에서 정리해봤다.

http://knight76.tistory.com/entry/scala-class-%EC%98%88%EC%8B%9C-2-%EC%95%94%EC%8B%9C%EC%A0%81-%EB%B3%80%ED%99%98implicit-conversion



Predef에 implicitly 라는 게 존재한다. 



@inline def implicitly[T](implicit e: T) = e


implicit을 짧게 쓸 수 있는 관용구 정도로 생각하면 될 것 같다. 



def plus(i: Int) (implicit j: Int) = println(i + j)
def plusWrapper(i: Int) = plus(i)
def plusImplicitly(i: Int) = plus(i)(implicitly[Int])

implicit val j = 20
plus(10)
plusWrapper(20)
plusImplicitly(30)


결과는 다음과 같다.


30

40

50


Posted by '김용환'
,