There are no static members or classes in Scala. Once you feel the need to create a static member, for example a static method or a class that is going to have only one instance, you should create an object. Yes, up until now, almost all the time we have been creating an object that extends the App trait so that we don't have to define the main method. This is the entry point to our application. So, it's also obvious that when we mention object, we don't mean an instance of any class; rather, an object in Scala has a different meaning.
An object, just like classes, is a container for functions and values. The reason why we may want to declare an object is so we can define utility methods for any particular type, or sometimes define JSON formatters and similar use cases. Let's take another look at how we can define an object...