Anulando método toString

Estoy usando .toString para devolver una representación de cadena de un objeto, es decir,

jcb.engineMove(move.toString());

producirá e2e4.

Lo que estoy tratando de hacer es extraer el texto de este objeto (e2e4) como una cadena. Después de buscar en Google, me topé con la modificación del método toString, por lo que se me ocurrió esto:

@Override
public String toString() {
    String s = "";
    int newRank = getRank();
    int newFile = getFile();
    final Move move = new Move(rank, file, newRank, newFile);
    s+="" + move;
    return s;
}

Mis preguntas son bastante básicas:

¿Es este el enfoque correcto?¿Cómo llamo a esta rutina cuando intento obtener el texto del objeto?