uando exatamente um método tem efeitos colaterai

Como eu sempre entendi, qualquer alteração no estado dos programas (ou qualquer coisa relacionada ao IO) é um efeito colateral. Não importa se a alteração ocorre em uma variável global ou em um campo privado do objeto em que o método é chamado. Daqui resulta que todos os métodos que não retornam nada não fazem absolutamente nada ou têm um efeito colatera
Minha confusão vem de um dos instrutores da nossa universidade (que ainda é estudante e, portanto, ainda não é onisciente;)) dizendo que os levantadores não têm efeitos colaterai

questionAnswers(3)

yourAnswerToTheQuestion