Methods
We've already seen Scala methods and used them many times so far. However, to differentiate between methods and functions, we'll take a look at the Scala methods once again. What are methods in Scala? Throughout our discussion of methods, we'll look at several definitions of what a method is. Let's start with what a method may contain:

Method signature
As you can see, we start our method with a few modifiers such as annotations, or keywords such as final and so on. This is followed by a def keyword, method name, parameter list, and then a return type that is optional. Scala methods are intelligent enough to infer the return type. Usually, a return type for a method is what the last expression evaluates to. Check out the following example:
object Methods {
def filePrinter() = {
println("Version 0")
val filesHere = (new File(".")).listFiles()
for(file <- filesHere)
println(file)
}
def main(args: Array[String]): Unit = {
filePrinter()
}
...