ScalaのUnitってなによ。

戻り値で指定されるUnit

object HelloWorld {
    def main(args: Array[String]): Unit {
        println("Hello, World")
    }
}

関数型言語の関数について

関数型言語の「関数」ってのは、数学的な関数のことを意味します。C言語とかの関数(Javaで言うメソッド)とは別物と考えた方がわかりやすいです。

数学的な関数とは?

数学的な関数とは、必ず値が返ってくる式のことです。たとえば1 + 1は2です。2という値が返ってきます。しかしC言語Javaの場合、引数に1と1を渡しても、ただ出力するだけに使われると戻り値はありません。voidとなりますよね。
数学的な関数は「必ず戻り値がある」のです。

じゃあUnitってなによ。

Scalaオブジェクト指向もとりいれたユニークな言語。
純粋な関数型言語ならば「戻り値がない」はありえないのですが、voidがないとプログラムを実装していくには不便です。そこでUnitという「戻り値がない」ことを意味する戻り値を作ったわけです。
めでたし、めでたし。