객체
객체는 속성에 대한 실제 값을 포함하고 클래스에 정의된 메서드를 수행할 수 있는 클래스의 인스턴스입니다.
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["객체"]:::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;
🧒 5살도 이해할 수 있게 설명
클래스가 쿠키 커터(모양)라면, 객체는 실제 쿠키입니다! 각 쿠키(객체)는 모두 같은 커터(클래스)에서 나왔지만 고유한 초콜릿 칩과 프로스팅(데이터)을 가지고 있습니다.
🤓 Expert Deep Dive
객체 식별성 대 동등성: '=='는 식별성을 테스트하고 '.equals()'는 값 동등성을 테스트합니다. 객체 풀링(Object Pooling)은 할당 오버헤드를 방지하기 위해 인스턴스를 재사용합니다. 인턴된 객체(문자열, 작은 정수)는 단일 인스턴스를 공유합니다. 프로토타입 기반 OOP(JavaScript)는 클래스 없이 다른 객체에서 객체를 생성합니다. 리플렉션은 런타임 객체 검사를 가능하게 합니다. 직렬화는 객체를 바이트 스트림으로 변환합니다.
🔗 관련 용어
선행 지식: