Scala Language Var, Val, and Def Overloading Def


Example

You can overload a def if the signature is different:

def printValue(x: Int) {
  println(s"My value is an integer equal to $x")
}

def printValue(x: String) {
  println(s"My value is a string equal to '$x'")
}

printValue(1)  // prints "My value is an integer equal to 1"
printValue("1") // prints "My value is a string equal to '1'"

This functions the same whether inside classes, traits, objects or not.