implicit 형 변환 함수로 각도 변환
implicit 변환
Scala는 형을 가지고 있는 static type의 언어이지만 implicit 함수를 통해 여러 형들을 손쉽게 변환해 준다.
다음은 degree와 radian를 새로운 형으로 정의하고 degree에서 radian으로 implicit 함수를 정의해서 사용하는 예이다. implicit로 변환함수만 한번 정의해 놓고 나면 다음부터 필요한 경우 컴파일러가 자동으로 형변환을 찾아서 삽입해준다.
type Degree = Int // 필요에 따라 Double형으로 정의 type Radian = Double implicit def deg2rad(d:Degree):Radian = d * math.Pi / 180 val r:Radian = 45:Degree // 0.785
댓글