2013년 1월 13일 일요일

Scala 로 java enum 구현하기

Scala 에는 특별히 enum 수형이 따로 정의되어 있지 않습니다. 그래서 java enum 과 유사하게 구현할 수 없습니다.
그래서 Scala 에서는 Enumeration 을 상속받은 Object 로 표현하면 됩니다. 다음 코드는 요일을 나타내는 DayOfWeek 값을 표현합니다.

실제 사용은 java enum 과 유사합니다만 꼭 import ScalaDayOfWeek._ 를 해줘야 합니다.
그리고 java 의 valueOf(String value) 는 withName(value:String) 을 사용하면 됩니다.

Scala 언어로 Java 라이브러리 사용이라던가, 변환은 대부분은 다 됩니다. 표현력이 더 좋으니까요^^
다만 Java 에서 Scala 로 된 라이브러리를 사용하려면, 안되는 것이 많습니다.
제가 고민 중인 부분이기도 합니다.

뭐 경험이 쌓이면 방법이 생기겠죠^^

댓글 없음: