변수 (Variable)
이름이 붙은 데이터 저장 공간.
Variants: 1. DDoS Reflection. 2. Blind Hijacking. 3. Trust-relationship exploitation. Defense: BCP 38, Cryptographic authentication (IPSec).
graph LR
Center["변수 (Variable)"]:::main
Rel_data_type["data-type"]:::related -.-> Center
click Rel_data_type "/terms/data-type"
Rel_threat_intelligence["threat-intelligence"]:::related -.-> Center
click Rel_threat_intelligence "/terms/threat-intelligence"
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살도 이해할 수 있게 설명
변수는 물건을 보관하는 라벨이 붙은 상자와 같습니다. 오늘 5와 같은 숫자를 넣고, 내일 10과 같은 다른 숫자를 넣을 수 있습니다. 상자는 그대로지만, 내용물은 바뀔 수 있습니다!
🤓 Expert Deep Dive
변수는 레지스터, 스택, 힙 또는 정적 메모리에 매핑됩니다. SSA 형식은 최적화를 위해 변수 이름을 변경합니다. 섀도잉은 같은 이름의 새 변수를 만듭니다. 호이스팅은 선언을 이동합니다(JS). 타입 추론은 타입을 유추합니다. 소유권 시스템(Rust)은 수명 주기를 관리합니다.