Quando si implementano classi di questo tipo, cioe' classi che implementano semplicemente una struttura dati, c'e' una prima scelta filosofica da fare:
1) oggetto immutabile oppure
2) oggetto mutabile?
Un oggetto immutabile e' un oggetto che, una volta inizializzato, non cambia piu' il suo contenuto: ad esempio non possiete dei setter, o deli metodi che cambiano lo stato dell'oggetto.
Ad esempio l'intero '1' e' un oggetto immutabile, la stringa "ciao" e' un oggetto immutabile.
Un oggetto mutabile e', per il nome stesso, un oggetto in cui puo' cambiare il suo stato.
Quindi, la prima domanda che ti devi porre e' la seguente:
il mio oggetto point e' un oggetto immutabile oppure un oggetto mutabile?
Conseguenza di questa scelta sara' l'elenco dei metodi da implementare.
La seconda regola da seguire e' la seguente:
in qualunque classe, si devono implementare solo i metodi minimi utili a manipolare quella classe.
Ad esempio: ha senso avere 3 setter distinti per X,Y,Z o sarebbe meglio avere un unico setter per impostare in un unico passo X,Y,Z?
Come scegliere? Buon senso!
Ad esempio, e' plausibile che uno imposti una coordinata di un punto e non le altre due?
Ovviamente, non pensare ad un caso specifico, come ad esempio il tuo programmino di test, ma in generale, se la tua classe dovesse essere utilizzata un un'applicazione di grafica 3D!