왜 FlightData는 struct(값 타입)일까?

인포그래픽 속 새 기장님(Actor)과 고양이(ViewModel)의 데이터를 직접 제어해보세요!

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