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

댓글

이 블로그의 인기 게시물

터미널에서 스칼라 파일 직접 컴파일, 실행

로잉 머신 운동 2달째

curses 라이브러리 간단한 정리