1) l'encapsulation est le fait de cacher l'implémentations interne de ton objet à tes utilisateurs. Mais toi, lorsque tu conçois ton objet, tu as besoin quand même de définir ce que tu as dedans. Et le fait de proposer un getter/setter, c'est ton interface de manipulation de ton objet, pas ton attribut directement. D'ailleurs, tu peux modifier ton implémentation derrière sans pour autant modifier tes accesseurs.
Encapsiuler, c'est pas tout cacher, c'est cacher l'implémentation.
Ce que tu fais de ton modèloe ne regarde que toi Mais le fait d'avoir des éléments privés peut être important dans certains contextes, ça dépend comment tu vas l'exploiter.
Lorsque tu modélise comment foinctionne en interne ton objets, tu vas avoir besoin de tes éléments privés. Lorsque tu modélise comment il interragie avec l'extérieur, pas la peine de les faire apparaitre.
---------------
brisez les rêves des gens, il en restera toujours quelque chose... -- laissez moi troller sur discu !