Objekt
Ein Objekt ist eine Instanz einer Klasse, die tatsächliche Werte für die Attribute enthält und die in ihrer Klasse definierten Methoden ausführen kann.
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["Objekt"]:::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;
🧒 Erkläre es wie einem 5-Jährigen
Wenn eine Klasse eine Ausstechform ist (die Form), dann ist ein Objekt ein echter Keks! Jeder Keks (Objekt) hat seine eigenen Schokostreusel und Glasur (Daten), auch wenn sie alle von derselben Form (Klasse) stammen.
🤓 Expert Deep Dive
Objektidentität vs. Gleichheit: '==' prüft Identität, '.equals()' prüft Wertgleichheit. Object Pooling verwendet Instanzen wieder, um Zuweisungs-Overhead zu vermeiden. Internierte Objekte (Strings, kleine Ganzzahlen) teilen sich eine einzige Instanz. Prototyp-basierte OOP (JavaScript) erstellt Objekte aus anderen Objekten ohne Klassen. Reflexion ermöglicht Objektinspektion zur Laufzeit. Serialisierung wandelt Objekte in Byteströme um.