The recommended convention is to use a parameterless method whenever there are no parameters and the method have no side effects. This convention supports the uniform access principle, which says that client code should not be affected by a decision to implement an attribute as a field or method. In accordance with Liskov substitution principle, as overridden method is parameterless, the overriding method must also be declared as a method without side effects.

* Refer to Programming in Scala, 10.3 Defining parameterless methods