Программирование на языке Scala/Object - контейнер кода/Ответы

2.

object Main extends App {
  val str = "Hello world!"
  def helloWorldPrint(): Unit = println(str)
  def helloWorldPrint(str: String): Unit = println(str)

  helloWorldPrint()
  helloWorldPrint(str)
}

3.

object Main extends App{ 
  // Ссылка на объект заставит объект инициализироваться
  FirstClassObject
}

object FirstClassObject {
  println("Start")

4.

object Main extends App{ 
  // Вызов метода из внешнего объекта
   FirstClassObject.firstMethod()
}

object FirstClassObject {
  def firstMethod(): Unit = println("Yo")
}

5.

object Main extends App{ 
  // Передача объекта в функцию
  def secondMethod(obj: FirstClassObject.type): Unit = obj.thirdMethod("Yo-Yo")
  secondMethod(FirstClassObject)
}

object FirstClassObject {
  def thirdMethod(str: String): Unit = println(str)
}