una classe interagisce con le altre quasi solo attraverso costruttori e metodi pubblici.

  • le altre classi non devono conoscere i dettagli implementativi di una classe per usarla efficacemente

accesso a campi e metodi

  • campi e metodi possono essere pubblici o privati (o protetti)

I metodi di una classe possono chiamare i metodi pubblici o privati della stessa classe, ma solo quelli pubblici di un’altra classe.