View - 화면을 그리라는 선언이다.
Text("Hello") - Hello 라는 텍스트를 그리라는 선언이다.
### @State
View 내부 State가 상태로 존재한다.
@State var count = 0
따라서 View가 죽으면 State도 죽는다.
### @ObservedObject
외부에서 만든 객체를 "관찰만"
- 소유하지 않는다.
### @StateObject
SwiftUI가 생명주기까지 관리
- View 가 소유한다.
- 최초 1회 생성되고, 재생성되어도 객체가 유지된다.
```swift
@StateObject var vm = CounterViewModel()
```
### @EnvironmentObject
전역 공유
- 주입 안 하면 앱 터짐
- 깊은 View hierarchy 전달
---
## Diffing: SwiftUI는 "트리 비교 엔진"이다
SwiftUI 화면 = "View Tree"
| 개념 | 핵심 |
| ------------ | ------ |
| View = Value | 객체 아님 |
| State 래퍼 | 상태 소유권 |
| Identity | 비교 기준 |
| Diffing | 부분 렌더링 |