Objet
Un objet est une instance d'une classe qui contient des valeurs réelles pour les attributs et peut exécuter les méthodes définies dans sa classe.
Types: 1. Remote code execution. 2. Privilege escalation. 3. Denial of Service (DoS). Phases: 1. Reconnaissance. 2. Triggering vulnerability. 3. Payload delivery.
graph LR
Center["Objet"]:::main
Pre_class["class"]:::pre --> Center
click Pre_class "/terms/class"
Rel_class["class"]:::related -.-> Center
click Rel_class "/terms/class"
Rel_graph_data_structure["graph-data-structure"]:::related -.-> Center
click Rel_graph_data_structure "/terms/graph-data-structure"
Rel_hash_table["hash-table"]:::related -.-> Center
click Rel_hash_table "/terms/hash-table"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 Explique-moi comme si j'avais 5 ans
Si une classe est un emporte-pièce (la forme), alors un objet est un vrai biscuit ! Chaque biscuit (objet) a ses propres pépites de chocolat et son glaçage (données), même s'ils viennent tous du même emporte-pièce (classe).
🤓 Expert Deep Dive
Identité de l'objet vs égalité : '==' teste l'identité, '.equals()' teste l'égalité de valeur. Le pool d'objets réutilise les instances pour éviter la surcharge d'allocation. Les objets internés (chaînes, petits entiers) partagent une instance unique. La POO basée sur des prototypes (JavaScript) crée des objets à partir d'autres objets sans classes. La réflexion permet l'inspection des objets à l'exécution. La sérialisation convertit les objets en flux d'octets.