-
Jetpack Compose 이해하기 (2장) - Jetpack Compose의 기본 개념과 Composable 함수안드로이드 2025. 4. 4. 20:40728x90반응형
첫 장에서는 선언형 UI와 명령형 UI의 차이점에 대해 알아보았습니다.
이번 포스팅에서는 Jetpack Compose의 기본 개념과 핵심이 되는 Composable 함수에 대해 깊이 알아보겠습니다.
📌 Jetpack Compose란?
Jetpack Compose는 안드로이드에서 사용하는 선언형 UI 툴킷으로, 간결하고 직관적인 코드로 UI를 구축할 수 있게 합니다.
Compose를 이용하면 UI가 상태 변화에 따라 자동으로 갱신되어 유지보수가 쉽고 생산성이 높아집니다.
Compose는 다음과 같은 특징이 있습니다
- 코드로 UI를 작성하는 방식
- 상태(state) 기반의 자동 UI 갱신
- 간결하고 직관적인 코드 작성 가능
- 함수형 프로그래밍 패러다임 사용
📌 Composable 함수란?
Compose에서는 UI 요소를 간단하게 @Composable 어노테이션이 붙은 함수로 정의합니다.
이러한 함수들을 Composable이라고 부르며, Compose의 가장 중요한 개념 중 하나입니다.
🛠️ 간단한 Composable 함수 예시
@Composable fun MyApp() { Greeting(name = "Compose") } @Composable fun Greeting(name: String) { Text(text = "Hello, $name!") }
결과적으로 화면에는 "Hello, Compose!"라는 텍스트가 표시됩니다.
🎯 Composable 함수의 특징
- 함수의 인자를 기반으로 UI를 생성
- 상태 변화 시 자동으로 재구성(recomposition)
- 순수 함수(pure function) 형태로 작성되어야 함
📌 Recomposition이란?
Compose에서는 상태가 바뀔 때 UI를 다시 그리는 과정을 재구성(Recomposition)이라고 합니다. 이는 Compose의 핵심 메커니즘이며, Composable 함수가 다시 호출되어 UI가 갱신됩니다.
@Composable fun Counter() { var count by remember { mutableStateOf(0) } Column { Text(text = "Count: $count") Button(onClick = { count++ }) { Text("Increment") } } }
이 코드에서 버튼을 클릭할 때마다 count 값이 증가하며, Compose는 상태의 변화를 감지하고 CounterComposable 함수를 다시 호출하여 최신 상태를 반영한 UI를 생성합니다. 즉, 상태 값이 변경될 때 Compose는 자동으로 필요한 Composable만을 재구성(recomposition)하여 UI를 업데이트하는 방식으로 효율적으로 동작합니다.
🎉 Composable의 장점
- 상태가 명확하게 드러나 코드의 가독성이 좋음
- 상태 변화에 따른 UI 업데이트가 자동화됨
- 유지보수 및 테스트 용이
- 코드 재사용성이 높음
이러한 장점 덕분에 Compose는 현대적인 안드로이드 앱 개발에 필수적인 요소로 자리 잡았습니다.
다음 장에서는 Compose의 상태 관리와 remember, mutableStateOf에 대해서 알아보겠습니다.
728x90반응형'안드로이드' 카테고리의 다른 글
Jetpack Compose 이해하기 (3장) - Compose의 상태 관리와 remember, mutableStateOf (0) 2025.04.07 Jetpack Compose 이해하기 (1장) - 선언형 UI vs 명령형 UI (0) 2025.04.03 Kotlin Flow에서의 Debounce와 Throttle 기법 (0) 2025.03.25 Maverick - MVI Framework 톺아보기 (0) 2025.01.14 [Android] WebView Bridge Thread 에러 (0) 2022.07.26