Methods that follow JavaBean naming contract for accessors are expected to have no side effects. The recommended convention is to use a parameterless method whenever there are no parameters and the method have no side effect. 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. The problem is that Java does not implement the uniform access principle. To bridge that gap, Scala allows you to override an empty-paren method with a parameterless method. In accordance with Liskov substitution principle, as overriden method has no side effects, the overriding method must also be declared as a method without side effects. * Refer to Programming in Scala, 10.3 Defining parameterless methods