case class는 일반적으로 패턴 매치, 데이터의 모델링, 간단한 클래스 형태로 사용하기 쓰인다.
case object는 serializable을 상속함으로서 파일 저장/통신에 유용하다.
scala> object A
defined object A
scala> import java.io._
import java.io._
scala> val bos = new ByteArrayOutputStream
bos: java.io.ByteArrayOutputStream =
scala> val oos = new ObjectOutputStream(bos)
oos: java.io.ObjectOutputStream = java.io.ObjectOutputStream@2f85d223
scala> oos.writeObject(A)
java.io.NotSerializableException: A$
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348)
... 50 elided
scala> import java.io._
import java.io._
scala> val bos = new ByteArrayOutputStream
bos: java.io.ByteArrayOutputStream =
scala> val oos = new ObjectOutputStream(bos)
oos: java.io.ObjectOutputStream = java.io.ObjectOutputStream@2f85d223
'scala' 카테고리의 다른 글
[akka] 처음 시작하는 Actor 공부-액터 모델/액터 레퍼런스/라이프 사이클/중지/종료 (0) | 2017.04.09 |
---|---|
[brew] 맥 OS에서 scala 업그레이드 (0) | 2017.04.07 |
[spark] spark cassandra connector - 스파크에 카산드라 연동하는 라이브러리 (0) | 2017.03.31 |
[scala] 스칼라 의존성, 패키지 검색하는 웹 - http://spark-packages.org (0) | 2017.03.30 |
[spark] RDD join 예제 (0) | 2017.03.29 |