본문 바로가기

Development/Programming

[Scala] 맛보기~! (2)

- Java 사용하기


import java.util.{Date, Locale} //클래스 지정
import java.text.DateFormat
import java.text.DateFormat._ // *은 특수한 키워드로 _ 가 Java에서의 *이다.

object FrenchDate {
  def main(args: Array[String]) {
    var now = new Date //Java 의 Date 생성
    val df = getDateInstance(LONG, Locale.FRANCE)
    println(df format now)
  }
}


 df format now 의미는 Java로 표현하면 이것 과 같다.  df.format(now)


- 모든 것은 Object 이다.


Java는 기본자료형이 있지만 Scala의 경우 모든 것이 전부 Object이다.


함수도 Object이다. (아래의 예시 참고)


object Timer {
  def oncePerSecond(callback: () => Unit) {
    while (true) { callback(); Thread sleep 1000 }
  }
  def timeFlies() {
    println("time flies like an arrow...")
  }
  def main(args: Array[String]) {
    oncePerSecond(timeFlies)
  }
}

위의 예시를 조금더 간단하게 만들어보자 timeFlies을 정의하지 않고 바로 anonymous 함수로 만들자


object TimerAnonymous {
  def oncePerSecond(callback: () => Unit) {
    while (true) { callback(); thread sleep 100 }
  }
  def main(args: Array[String]) {
    oncePerSecond( () => println("time flies like an arrow..."))
  }
}