먼저 Parcel은 '소포', '(선물 등의)꾸러미'라는 뜻을 가지고 있다. Android에서는 Parcel은 "여러 데이터가 하나의 클래스 안에 담겨있다" 라는 의미를 가지게 된다. 그러므로 Parcelable은 Parcel(데이터 꾸러미)를 A activity 에서 B activity로 한번에 전달될 수 있도록 해주는 역할을 한다.
plugin {
id("kotlin-parcelize")
}
Kotlin에서는 build.gradle
에 kotlin-parcelize
를 선언해서 쉽게 parcelable
을 사용할 수 있다.
import kotlinx.parcelize.Parcelize
@Parcelize
data class User(
val firstName: String,
val lastName: String,
val age: Int): Parcelable
위 코드와 같이 data class에 @Parcelize
를 주석으로 달아주면 Parcelable
구현이 자동으로 생성된다.
참고자료: