Banque de Questions - POO en Java
Q1. Qu’est-ce que la POO (Programmation Orientée Objet) ?
✔ Réponse : Un paradigme de programmation basé sur les objets, qui
regroupent données (attributs) et comportements (méthodes).
Q2. Qu’est-ce qu’une classe en Java ?
✔ Réponse : Un modèle ou blueprint pour créer des objets.
Q3. Qu’est-ce qu’un objet en Java ?
✔ Réponse : Une instance d’une classe contenant des valeurs pour ses
attributs et pouvant utiliser ses méthodes.
Q4. Qu’est-ce qu’un constructeur en Java ?
✔ Réponse : Une méthode spéciale utilisée pour initialiser un objet lors de sa
création.
Q5. Quelle est la différence entre une classe et un objet ?
✔ Réponse : La classe est le modèle, l’objet est l’instance concrète.
Q6. Qu’est-ce qu’un attribut en Java ?
✔ Réponse : Une variable déclarée dans une classe pour stocker l’état de
l’objet.
Q7. Qu’est-ce qu’une méthode en Java ?
✔ Réponse : Une fonction définie dans une classe pour décrire le
comportement de l’objet.
Q8. Quelle est la différence entre public, private et protected ?
✔ Réponse :
• public : accessible partout
• private : accessible uniquement dans la classe
• protected : accessible dans la classe et ses sous-classes
Q9. Qu’est-ce que l’encapsulation ?
✔ Réponse : Principe consistant à cacher les données d’un objet et à les
manipuler via des méthodes (getters/setters).
Q10. Qu’est-ce que l’héritage en Java ?
✔ Réponse : Mécanisme permettant à une classe de réutiliser les attributs et
méthodes d’une autre classe (superclasse).
Q11. Qu’est-ce que le polymorphisme ?
✔ Réponse : Capacité d’une méthode ou d’un objet à prendre plusieurs formes,
par surcharge ou par redéfinition.
Q12. Qu’est-ce que l’abstraction ?
✔ Réponse : Masquer les détails d’implémentation et ne montrer que les
fonctionnalités essentielles via des classes/méthodes abstraites.
Q13. Qu’est-ce qu’une interface en Java ?
✔ Réponse : Une classe abstraite pure qui ne contient que des méthodes sans
implémentation et des constantes.
Q14. Comment implémenter une interface en Java ?
✔ Réponse : Avec le mot clé implements, par exemple : class MaClasse
implements MonInterface.
Q15. Quelle est la différence entre une classe abstraite et une interface ?
✔ Réponse : Une classe abstraite peut avoir des méthodes concrètes et des
attributs, une interface ne contient que des méthodes abstraites (Java 8+
autorise méthodes par défaut).
Q16. Qu’est-ce que la surcharge de méthode (overloading) ?
✔ Réponse : Définir plusieurs méthodes avec le même nom mais des
paramètres différents dans une même classe.
Q17. Qu’est-ce que la redéfinition de méthode (overriding) ?
✔ Réponse : Une sous-classe réécrit une méthode héritée de sa superclasse
avec le même nom et signature.
Q18. Qu’est-ce que le mot clé super ?
✔ Réponse : Permet d’accéder aux méthodes et attributs de la superclasse.
Q19. Qu’est-ce que le mot clé this ?
✔ Réponse : Référence à l’objet courant de la classe.
Q20. Qu’est-ce qu’un objet statique (static) ?
✔ Réponse : Un attribut ou une méthode partagé(e) par toutes les instances de
la classe.
Q21. Qu’est-ce qu’une classe interne (inner class) ?
✔ Réponse : Une classe définie à l’intérieur d’une autre classe.
Q22. Qu’est-ce qu’une exception en Java ?
✔ Réponse : Un événement qui interrompt le flux normal d’exécution d’un
programme.
Q23. Comment gérer une exception en Java ?
✔ Réponse : Avec try { ... } catch(Exception e) { ... } finally { ... }.
Q24. Qu’est-ce que le mot clé final ?
✔ Réponse : Indique qu’une variable ne peut pas changer, qu’une méthode ne
peut pas être redéfinie, ou qu’une classe ne peut pas être héritée.
Q25. Qu’est-ce que le mot clé abstract ?
✔ Réponse : Déclare une classe ou une méthode abstraite.
Q26. Qu’est-ce que le mot clé interface ?
✔ Réponse : Déclare une interface.
Q27. Quelle est la différence entre composition et héritage ?
✔ Réponse : Composition = un objet contient un autre objet ; héritage = une
classe hérite d’une autre classe.
Q28. Qu’est-ce que le principe SOLID en POO ?
✔ Réponse : Ensemble de 5 principes pour écrire du code maintenable : SRP,
OCP, LSP, ISP, DIP.
Q29. Comment créer un package en Java ?
✔ Réponse : Avec package nom_package; au début du fichier.
Q30. Comment importer un package en Java ?
✔ Réponse : Avec import nom_package.*; ou import nom_package.Classe;.