null
: 참조형 타입에서 값이 없음을 나타냄. 권장되지 않음.의미: null
은 참조형 타입에서 값이 없음을 나타냅니다. 객체가 참조되지 않는 상태를 나타낼 때 사용됩니다.
주의사항: null
은 Scala에서 권장되지 않으며, 대신에 Option
같은 타입을 사용하는 것이 좋습니다. Java와의 상호 운용성 때문에 남아 있는 기능입니다.
예시:
val x: String = null
Python의 None
과 비슷합니다:
x = None
None
: Option
타입에서 값이 없음을 나타냄.의미: None
은 Option
타입의 값 중 하나로, 값이 없음을 나타냅니다. Option
은 값이 있으면 Some(value)
, 없으면 None
을 사용합니다.
용도: 안전한 값 처리를 위해 사용됩니다. 예를 들어, 값이 있을 수도 없을 수도 있는 상황에서 Option
을 사용하여 값의 존재 여부를 명시적으로 처리할 수 있습니다.
예시:
val maybeValue: Option[String] = None
val someValue: Option[Int] = Some(42)
Python에서는 Optional
타입을 사용하거나 None
을 직접 사용할 수 있습니다:
x: Optional[str] = None
()
: Unit 타입의 값의미: ()
는 Unit 타입의 유일한 값입니다. Unit은 Python의 None
과 비슷한 역할을 합니다. 함수가 어떤 값도 반환하지 않거나, 실행의 결과로 의미 있는 값을 반환하지 않을 때 사용됩니다.
용도: 주로 함수의 반환 타입이 Unit
일 때 사용됩니다. 즉, 함수가 어떤 부수 효과(side effect)를 수행하고 값은 반환하지 않는 경우입니다.
예시:
def printMessage(): Unit = {
println("Hello, World!")
}
// Unit 타입의 함수는 암묵적으로 ()를 반환
val result = printMessage() // result는 () 값을 가짐
Python에서 None
과 유사합니다.
def print_message():
print("Hello, World!")
result = print_message() # result는 None 값을 가짐
Nil
: 빈 리스트Nil
은 빈 리스트를 나타냅니다. 이는 List
의 일종이며, 리스트의 끝을 나타내거나 리스트가 비어 있음을 표현합니다.List
의 기본값으로 빈 리스트를 만들 때 사용됩니다.