Uso de overriding getPreferredSize () em vez de usar setPreferredSize () para componentes de tamanho fixo

Eu li alguns posts aqui e comecei por que algumas pessoas fazem

@Override
public Dimension getPreferredSize() {
    return new Dimension(500, 500);
}

ao invés de

setPreferredSize(new Dimension(500, 500));

Não é o segundo melhor porque cria apenas umDimension objeto enquanto o primeiro possivelmente cria vários (mesmo que não seja muita memória desperdiçada)? Ou eu estou errado? Existe alguma diferença?

questionAnswers(1)

yourAnswerToTheQuestion