Burkina Faso
EPO/IGIT1/2026
Institut Supérieur de Génie Electrique
Ouagadougou
Filière : Institut du Génie Informatique et Télécom 1
RAPPORT DU PROJET 2 DE JAVA
THEME 2 : Encapsulation et modificateurs des accès
GROUPE 7
Professeur : Membre du groupe
ALI Amidou
Dr Julie TANKOANO DA Mwinbétouré Firmin Junior
KY Prisca Rose Monde Lawalo
SAWADOGO Zoulkarnaine
Année Académique 2026-2027
Encapsulation et modificateurs d’accès
INTRODUCTION
L’encapsulation est un principe fondamental de la programmation orientée objet qui vise à
protéger les données d’une classe et à contrôler leur accès. En Java, ce principe est mis en œuvre
grâce aux modificateurs d’accès, qui permettent de définir la visibilité des classes et de leurs
membres. L’utilisation appropriée de ces modificateurs contribue à améliorer la sécurité, la
lisibilité et la maintenabilité des programmes. Ce thème a pour objectif de présenter le concept
d’encapsulation en Java et d’expliquer le rôle des principaux modificateurs d’accès.
I. Notion générales de l’encapsulation
1. Définition de l’encapsulation
L'encapsulation est un principe fondamental de la programmation orientée objet (POO) en Java
qui consiste à regrouper les données (variables) et les méthodes (fonctions) qui opèrent sur les
données en une seule unité, appelée classe. Il restreint l'accès direct à certains composants d'un
objet et peut empêcher la modification accidentelle de données.
Elle repose sur deux principes à savoir :
Rendre les attributs privés : Les données internes ne sont pas directement
accessibles depuis l'extérieur ;
Fournir des méthodes publiques : L'accès se fait uniquement via des méthodes
contrôlées (getters/setters).
GROUPE 7 1
Encapsulation et modificateurs d’accès
Exemple : Encapsulation de base
Exemple : Code sans encapsulation (à éviter)
GROUPE 7 2
Encapsulation et modificateurs d’accès
[Link] utiliser l’encapsulation
Il est conseillé d’utiliser l’encapsulation car il permet :
Masquer des données: L'encapsulation permet de cacher la représentation interne d'un
objet à l'extérieur. Seuls les détails nécessaires sont exposés par le biais d'une interface
publique ;
Accroît la flexibilité: En contrôlant l'accès aux champs d'une classe, vous pouvez
modifier l'implémentation interne sans affecter le code externe utilisant la classe ;
Améliore la maintenabilité: L'encapsulation permet de maintenir le code en gardant
les champs privés et en fournissant des méthodes publiques de type getter et setter pour
modifier et visualiser les champs.
II. Les modificateurs d’accès
1. Présentation générale des modificateurs
En Java, les modificateurs d’accès sont des mots-clés qui définissent l’accessibilité (ou
visibilité) des classes, des constructeurs, des méthodes et des champs. Ils constituent un aspect
fondamental de l’encapsulation, principe clé de la programmation orientée objet, qui vise à
masquer les détails d’implémentation internes d’une classe et à contrôler la manière dont les
autres parties du programme peuvent interagir avec ses membres.
2. Modificateurs d’accès
Dans ce cadre, nous étudierons plus particulièrement les quatre modificateurs d’accès proposés
par Java, à savoir : private, protected, public et l’accès par défaut (default), qui seront présentés
et analysés dans la suite.
a. Le modificateur public
Le modificateur public rend un élément accessible de partout dans le programme, peu importe
la classe. C'est le niveau d'accès le plus permissif. C’est-à-dire que :
Classes : Une classe public peut être accédée par n'importe quelle autre classe.
Méthodes, champs, constructeurs : Les membres public peuvent être accédés depuis
n'importe quelle classe, quel que soit le paquet.
GROUPE 7 3
Encapsulation et modificateurs d’accès
Exemple de code correct avec l’utilisation du modificateur d’accès public :
Exemple de code incorrect avec l’utilisation du modificateur d’accès public :
L’erreur vient du fait que les attributs nom, age et la méthode sePresenter () sont déclarés
private, ce qui signifie qu’ils ne sont accessibles qu’à l’intérieur de la classe Personne. Leur
utilisation depuis une autre classe est donc interdite, ce qui provoque une erreur de compilation.
Quand vous utiliser public, il faut respecter les règles suivantes :
Utiliser public pour les méthodes qui doivent être accessibles depuis l'extérieur
Pour les constantes (public static finale)
Attention : Évitez de rendre les attributs publics (utilisez plutôt private + getters/setters).
GROUPE 7 4
Encapsulation et modificateurs d’accès
b. Le modificateur private
Le modificateur private restreint l'accès à la classe elle-même. C'est le niveau d'accès le plus
restrictif. Les éléments privés (champs, méthodes, constructeurs) ne sont accessibles que depuis
l'intérieur de la classe où ils sont déclarés. Cela signifie que :
Les classes private ne sont pas directement prises en charge (sauf pour les classes
imbriquées).
Private est fondamental pour l'encapsulation, permettant aux classes de masquer leur
état interne et les détails d'implémentation au monde extérieur.
Exemple de code correct avec l’utilisation du modificateur d’accès private :
Exemple de code incorrect avec l’utilisation du modificateur d’accès private :
GROUPE 7 5
Encapsulation et modificateurs d’accès
NB : L’erreur se produit parce que les attributs nom et age de la classe Personne sont déclarés
private, ce qui limite leur accès uniquement à l’intérieur de cette classe.
Toute tentative d’accès direct depuis une autre classe, comme dans la classe Test, viole le
principe d’encapsulation et entraîne donc une erreur de compilation ; l’accès doit se faire via
des méthodes publiques (getter ou setter).
Remarques :
Quand vous utiliser private, il faut respecter les règles suivantes :
Pour les attributs internes (encapsulation)
Pour les méthodes utilitaires internes à la classe
Pour cacher les détails d'implémentation
Recommandation : Rendez les attributs privés et utilisez des getters/setters publics
pour y accéder.
c. Le modificateur protected
Le modificateur d'accès protected permet d'accéder aux membres depuis la même classe, les
classes du même paquet et les sous-classes (classes enfants) dans n'importe quel paquet. Il est
principalement utilisé lorsque vous souhaitez autoriser les sous-classes à accéder à un membre,
tout en empêchant les classes non apparentées de le faire.
Quand vous utiliser protected, il faut s’assurer que :
Les attributs et méthodes sont accessibles dans les sous-classes
Que vous voulez permettre l'héritage mais pas l'accès public
Les méthodes sont destinées à être redéfinies dans les sous-classes
GROUPE 7 6
Encapsulation et modificateurs d’accès
Les hiérarchies de classes où les sous-classes ont besoin d'accéder aux membres de la
classe mère.
d. Le modificateur default
Lorsqu'aucun modificateur d'accès n'est explicitement spécifié pour une classe, une méthode
ou un champ, il reçoit le niveau d'accès default. C'est également connu sous le nom d'accès
"paquet-privé". Les membres default sont accessibles uniquement depuis la même classe. Et
d'autres classes au sein du même paquet. Ils ne sont pas accessibles par les sous-classes dans
des paquets différents.
e. Tableau de comparaison des modificateurs d’accès
Voici un tableau récapitulatif qui compare tous les modificateurs d’accès en java :
Modificateurs Même classe Sous classe Exemple
public Oui Oui Public string nom ;
protected Oui Oui Protected string nom ;
default Oui Non String nom ;
private Oui Non Private string nom ;
GROUPE 7 7
Encapsulation et modificateurs d’accès
III. Getters et Setters
Les getters et setters sont des méthodes publiques qui permettent de contrôler l'accès aux
attributs privés. Ils sont essentiels pour implémenter l'encapsulation en Java.
1. Getters
Un getter (accesseur) est une méthode qui retourne la valeur d'un attribut privé. Il permet de
lire la valeur sans accès direct à l'attribut.
Ci- dessous se trouve la structure d’un getter :
2. Setters
Un setter (mutateur) est une méthode qui modifie la valeur d'un attribut privé. Il permet de
contrôler et valider les valeurs avant de les assigner.
Voici la structure d’un setter :
GROUPE 7 8
Encapsulation et modificateurs d’accès
Conventions de nommage : En Java, les getters et setters suivent des conventions strictes :
Getter : get + nom de l'attribut (première lettre en majuscule)
Setter : set + nom de l'attribut (première lettre en majuscule)
Pour les booléens, on peut utiliser is au lieu de get
Exemple de conventions :
GROUPE 7 9
Encapsulation et modificateurs d’accès
CONCLUSION
En conclusion, l’encapsulation et les modificateurs d’accès jouent un rôle essentiel dans la
conception de programmes Java robustes et bien structurés. En limitant l’accès direct aux
données et en contrôlant les interactions entre les classes, ils permettent de protéger l’intégrité
des objets et de réduire les risques d’erreurs. La maîtrise des modificateurs private, protected,
public et de l’accès par défaut est donc indispensable pour appliquer efficacement les principes
de la programmation orientée objet en Java.
GROUPE 7 10