Существует две школы. Первая из них учит, что в том классе, где определена переменная, обращаться к ней следует свободно (непосредственный доступ). Другая школа утверждает, что даже внутри этого класса следует всегда применять методы доступа (косвенный доступ).
Преимущество косвенного метода состоит в том что он позволяет переопределить в подклассе метод получения информации и обеспечивает большую гибкость в управлении данными, например отложенную инициализацию (lazy initialization).
Преимущество прямого доступа заключается в лёгкости чтения кода. Не надо останавливаться на мысли «да это просто метод получения значения переменно»
Обычно сперва используется непосредственный доступ к переменным, до тех пор пока это не станет препятствием. Далее можно перейти к косвенному методу.
Блин, где ж я это прочитал?