Package Object

  • 부모 패키지에 정의
  • 자식 패키지와 같은 이름으로
  • 유틸리티 함수나 상수 정의
  • 프로젝트에 자주쓰이는 implicit 같은거 모아둘 수 있음.
package com.cheese.practice

// com/cheese/practice/people/package.scala
package object people { 
    val defaultName = "cheese"
    implicit def int2string(from:Int) = from.toString
}

package people {
    class People {
        var name = defaultName // package object 에서 온 상수. 
    }    
}
  • 내부적으로 정적 메소드/필드를 가진 package.class로 컴파일 됨

ref : http://www.scala-lang.org/docu/files/packageobjects/packageobjects.html

results matching ""

    No results matching ""