왜 FlightData는
struct(값 타입)
일까?
인포그래픽 속 새 기장님(Actor)과 고양이(ViewModel)의 데이터를 직접 제어해보세요!
하나의 집을 공유 (참조 주소 공유)
독립된 택배 박스 (값 스냅샷 복사)
❌ Class (참조 타입) 시뮬레이션
👨✈️
FlightActor (원본 기장님)
"난 계속 비행하며 고도를 올릴게!"
⬇️ 둘 다 같은 집(주소)을 가리킴 (공유 상태)
🏡 [공유 메모리] FlightData 객체
altitude:
1000
⬆️
🐱
ViewModel (복사본 고양이)
"난 기장님이 준 데이터로 화면을 그릴게."
시나리오 조작하기:
1. 기장님이 고도 변경 (+500)
2. 고양이가 고도 수정 (1500으로)
데이터 리셋
좌측 버튼을 순서대로 눌러보세요. 한쪽이 바꾸면 다른 쪽 집 상태도 즉시 오염되는 현상을 관찰할 수 있습니다.
✅ Struct (값 타입) 시뮬레이션
👨✈️
FlightActor (원본 기장님 집)
현재 고도:
1500
📦 독립된 스냅샷(택배) 전달!
📦 [복사본] FlightData (스냅샷)
altitude:
1500
⬇️
🐱
ViewModel (복사본 고양이)
보여지는 고도:
1500
시나리오 조작하기:
1. 기장님이 고도 계속 변경 (+500)
2. 고양이는 받은 스냅샷만 유지
데이터 리셋
우측 버튼을 눌러보세요. 기장님이 고도를 계속 높여도 고양이가 받은 택배 상자(스냅샷)는 전혀 영향을 받지 않습니다.