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



Posted by yongary
,