Context는 값을 건너뛰어 전달하지만 구독 범위를 넓힌다
Provider 위치와 value 안정성이 어떤 하위 컴포넌트를 다시 렌더링하는지 결정한다.
Header
theme를 읽어 색상 갱신
Main
직접 읽지 않으면 context 변화와 무관
Toolbar
깊이와 상관없이 같은 value 구독
UserProvider
변화 빈도가 다른 값은 별도 context로 분리
핵심Context는 전역 저장소가 아니라 특정 subtree의 전달 채널이며, 자주 바뀌는 큰 객체는 분리한다.