1. Nil은 List 가 비어있을 때.를 Nil이라고 한다.
$ val a=List()
$ a==Nil ==> true 임.
2. Nothing은 최하위 class 이다.
아래 예제에서 else 경우에 Nothing이 리턴된다. (Int 의 Subtype이므로 리턴 가능.)
def divide(x:Int, y:Int) :Int = if (y!=0) x/y else error("hi Error")
=> 이경우에 Nothing이... 인터프리터에서 돌려보니 deprecation 된 거 같기도 한데.. (추가 확인 필요)
3. Null은 기존 java Null 하고 비슷하니 개념은 잠시 잊어도 되겠다.
<Hierarchy>
java.lang.Object 에 해당하는 건 scala.AnyRef 이다.
Scala에선 Any가 최상위 클래스 이고..
data Type 들은 왼쪽 AnyVal 트리를 타게 되므로..
아래 계층도와 같다.
Any
/ |
AnyVal AnyRef
| |
Type들 AnyObject
| |
| Null
| /
Nothing