E' sicuramente un modo di risolvere la cosa, ma ridefinire toString è sicuramente il metodo migliore: in questo modo la logica viene inserita all'interno della classe Driver, che è il posto migliore per gestirla, ed è invece nascosta a tutte le classi che desiderano stampare a video un oggetto Driver.
Infatti se devi modificare le informazioni che vuoi ricevere (ad esempio potresti voler aggiungere i punti nel mondiale, il numero di macchina del pilota o anche solo cambiare il carattere di separazione tra nome e cognome o altro...) ti basta modificare un unico metodo nella classe Driver, senza dover cambiare tutte le istruzioni relative alla stampa nelle altre classi.
Poi migliori la leggibilità del codice e lo rendi più snello, ti basta scrivere System.out.println (cars[i].getDriver()) , senza doverti preoccupare di andare a recuperare a mano le informazioni.
Infine il metodo è toString() è utile anche in altri contesti, per ora potrebbe non servire a tutti i costi ma non fa male abituarsi a ridefinirlo![]()