여러분이 거센 파도를 가르고 배를 모는 선장이라고 상상해보십시오
여러분의 배의 state(상태)는 여러분이 무언가 결정을 내리는 데에 매우 중요합니다
이때 state(상태) 관리가 필요하게 됩니다
여러분의 선원들은 event(이벤트)로 작동하며 중요한 정보를 신호해줍니다
폭풍을 발견하면 "선장님, 앞에 폭풍이 있습니다!" 하고 외칩니다
이 event(이벤트)는 여러분이 배의 state(상태) 변화에 따라 경로를 변경하도록 합니다
이번에는 여러분이 보물이 숨겨진 섬이 가까운 곳에 있다는 메시지를 전달 받았다고 생각해보십시오
이 신나는 소식의 event(이벤트)는 여러분이 보물섬을 향해 가도록 state(상태)의 변화를 가져옵니다
state(상태) 관리와 event(이벤트)는 선장과 선원들처럼 끊임없이 함께 작용하며
여러분의 항해 혹은 애플리케이션이 원활하게 진행되도록 합니다
Jetpack Compose의 세계에서는 state(상태)관리를 사용자 액션이나 데이터 업데이트와 같은 event(이벤트)가 일어났을 때
여러분의 앱의 방향을 알려주는 나침반이라고 생각할 수 있습니다
마치 선장이 변화하는 조건에 따라 배를 모는 것과 같이 앱의 state(상태)를 조절하라는
신호로 작용합니다
즉, state(상태) 관리와 events(이벤트)는 함께 작용하며 여러분의 앱이 사용자 인터페이스(UI)의
역동적인 지형을 매끄럽게 통과할 수 있도록 하며, Jetpack Compose가 여러분의 성공적인 항해에 믿음직한 파트너가 되도록
합니다
여러분의 composable(컴포저블)의 state(상태)를 유지하고 업데이트하는 데에 꼭 필요한 두 가지 개념이 있습니다
바로 remember(리멤버) function(함수)와 mutable state(가변적인 상태) property delegate(위임) 입니다
remember(리멤버) function(함수)는 Jetpack Compose에서 지속적이고 기억되는 state(상태)를 만들기 위해 사용됩니다
이것은 composable(컴포저블)이 개조 되었을 때에도 state(상태)를 유지할 수 있도록 하며, 매 초 여러번 일어나는 화면의 새로고침인
composable(컴포저블)의 재생산 시에도 마찬가지로 작동합니다
이는 여러분의 앱의 라이프 사이클에 데이터와 사용자 인터페이스(UI) state(상태)를 보호하는 데에 매우 중요합니다
recomposition(리컴포지션)은 애플리케이션 state(상태)나 사용자 상호작용의 변화에 따라 사용자 인터페이스(UI)를 개조하거나
업데이트하는 과정을 칭합니다
Jetpack Compose에서는, 여러분의 사용자 인터페이스(UI)가 composables(컴포저블)들의 나무로 나타나며 그리고 recomposition(리컴포지션)은
기저의 데이터나 조건들이 변했을 때 compose가 이 나무를 어떻게 효율적으로 업데이트하는지를 말합니다
mutable state property delegate은 업데이트될 수 있는 mutable state(가변적인 상태)를 만들 때 사용됩니다
변화하는 데이터를 관리하기 위해 remember(리멤버)와 함께 사용되는 경우가 많습니다
따라서 기억해야 할 것은 mutable state(가변적인 상태)는 첫째로, composable(컴포저블)이 새로 렌더링 되었을 때에도 데이터가 보존되는, 즉 recomposition(리컴포지션)을 통과할
때에도 변하지 않는 state(상태)를 만드는 경우와, 여러분이 값을 바꿨을 때 state(상태) 값을 업데이트시키는 두번째 경우에
모두 작용한다는 것입니다
이것은 여러분의 사용자 인터페이스(UI)의 업데이트된 state(상태)에 따라 composable(컴포저블)의 recomposition(리컴포지션)을 유발합니다
여러분이 기억해야 할 중요한 키워드들은 remember(리멤버)와 mutable state(가변적인 상태)입니다
그리고 다음 영상에서 여러분은 이 두가지를 여러분의 애플리케이션 내에서 사용하게 될 것인데, 다음 영상에서는
저희가 remember(리멤버)하고자 하는 states(상태)들에 대한 여러가지 변수들을 만들어 볼 것이고
그것들의 변화에 따라 사용자 인터페이스(UI)를 업데이트 시켜볼 것입니다
다음 강의에서 뵙겠습니다