Android/Jetpack Compose (3) 썸네일형 리스트형 [Jetpack Compose] State와 State Hoisting 이해하기 Jetpack Compose를 사용하면서 가장 기본적이면서도 중요한 개념 중 하나가 State이다. 또한 이를 컴포저블 간에 깔끔하게 관리하기 위한 패턴으로 State Hoisting이 널리 사용되고 있다. 이 글에서는 Compose의 State가 무엇이고, 왜 State Hoisting이 필요한지, 그리고 실제로 어떻게 사용하는지 정리해보려고 한다.1. Compose에서 State란?Compose는 선언형 UI 프레임워크이다. "상태(State)가 바뀌면 UI를 다시 그린다"는 철학에 따라 작동한다.State는 UI를 그리는 데 필요한 데이터를 의미한다. 즉, 화면에 표시되는 값이나, 사용자의 입력, 버튼 클릭 여부 등이 모두 상태로 표현될 수 있다.Compose에서는 @Composable 함수 안에서.. [Jetpack Compose] Activity Lifecycle에 맞게 기능 구현 Jetpack Compose를 스터디하면서 state에 따라 화면이 자동으로 갱신된다는 점을 정리했다. 이제는 기존 Activity의 생명주기에 따라 동작하는 기능을 Jetpack Compose에서 어떻게 구현할 수 있는지에 대해 정리해보려 한다. 기존의 onCreate, onStart, onResume 등의 메서드를 직접 override 하는 방식과는 조금 다른 Compose만의 접근 방식이 있어서 익혀두면 유용하다.1. Lifecycle의 중요성.앱을 만들다 보면 화면에 진입할 때 데이터를 로딩하거나, 백그라운드로 나가면 특정 리소스 해제가 필요하다. 이런 동작은 Activity의 생명주기에 맞춰 처리해야 앱이 안정적이고 성능도 좋아지기 때문에 Activity Lifecycle을 중요하다.2. Jet.. [Jetpack Compose] 기존 UI방식과 다른 점? 기존 명령어 방식에 익숙한 개발자로서 선언형 UI에 개념을 이해하는데 어려움이 있어 정리하는 차원에서 글을 작성해본다.1. 선언형 UI vs 명령형 UI의 차이Jetpack Compose의 가장 큰 특징은 선언형(Declarative) UI 방식이라는 점이다. 기존 Android View 시스템은 명령형(Imperative) 방식이며, 이 두 가지는 단순히 코드 스타일만 다른 것이 아니라, UI 구성과 상태 관리 개념이 다르다. 2. 선언형 UI의 핵심은 “현재 상태에 따라 UI를 그린다.” Compose에서는 UI는 상태(state)에 기반해 선언하고, 상태가 바뀌면, 해당 UI는 자동으로 다시 그려진다 (recomposition).기존 안드로이드처럼 View를 직접 찾아서 조작하지 않고, UI는 항상.. 이전 1 다음