Следует ли использовать геттеры и сеттеры внутри самого класса?
Правильнее конечно же через геттеры-сеттреры, так как изначально предполагалось, что есть только одна точка контроля - геттер/сеттер.
С другой стороны - все на усмотрение разработчика, можно и напрямую к полю.
Правильный будет второй вариант, так как геттеры и сеттеры это интерфейс вашего класса для взаимодействия с внешним миром. А внутри методы должны работать с внутренним состоянием класса.