Scala의 장점 중 하나는 Java 코드를 사용할 수 있다는 점이다. 사용하고 싶은 Java 클래스를 import 하여 사용하면 된다. 또한 java.lang 패키지 하위에 있는 모든 클래스들은 Scala에선 따로 import 하지 않아도 기본적으로 사용할 수 있다.
다음은 Java 코드를 Scala 코드에 적용해보겠다. Java의 Date class와 Dateformat class는 날짜 관련한 유틸리티 클래스로 강력한 기능을 제공하고 있다. 이를 Scala 코드에서 다음과 같이 사용할 수 있다.
[ 현재 시간을 한국에서 사용하는 시간대 표현으로 출력하는 코드 ]
import java.text.DateFormat._
import java.util.{Date, Locale}
object KoreaDate{
def main(args: Array[String]): Unit = {
var now = new Date
var df = getDateInstance(LONG, Locale.KOREA)
println(df format now)
}
}
[ 출력 결과 ]
2019년 9월 24일 (화)
Scala 코드에서 Java 코드를 사용할 수 있기 때문에, 동일한 기능을 수행하는 Scala 클래스를 만들기보단, 원하는 기능을 가진 Java 패키지를 import 하여 사용하는 것이 더 간단하다.
Scala에서 import 구문은 java와 달리 {} 와 같은 중괄호 키워드로 원하는 클래스를 선택적으로 불러올 수 있다. 또한 패키지나 클래스에 속한 모든 이름들을 불러오는 경우 * 또는 _ 를 사용할 수 있다.
소스코드의 마지막 줄인 println(df format now) 코드의 경우 Scala 문법의 특징 중 하나를 반영한 것으로, 하나의 인자를 가지는 함수를 이항 연산자와 같은 문법으로 호출이 가능하다는 점을 보여준다. 다음은 소스코드의 마지막 줄을 풀어서 작성한 소스코드이다.
// println(df format now)
println(df.format(now))
Scala에서 Java 코드의 사용은 매우 자연스럽고 쉽게 적용할 수 있다. Scala안에서 Java 클래스들을 상속받고 Java 인터페이스를 구현하는 것 또한 가능하다.
출처: https://docs.scala-lang.org/ko/tutorials/scala-for-java-programmers.html
'Programming > Scala' 카테고리의 다른 글
[Scala-03] 클래스에 대하여 (0) | 2019.09.25 |
---|---|
[Scala-01] Hello World 출력하기 (0) | 2019.09.22 |
[Scala] Window 10 Scala REPL 설치하기 (0) | 2019.09.19 |