[Kotlin/코틀린] @Parcelize / Parcelable을 사용한 직렬화와 역직렬화
·
Kotlin
안드로이드 개발에서 데이터 객체를 인텐트나 번들로 전달할 때, 데이터 객체를 직렬화 해야하는 경우가 많다. 스프링과 같은 프레임워크에서도 데이터 객체를 사용할 때 직렬화하는 경우가 많다.어쨋든, 코틀린에서는 @Parcelize를 사용하면 효율적으로 데이터를 직렬화와 역직렬화를 할 수 있다. Parcelable이란?Parcelable은 안드로이드에서 객체를 직렬화하는 데 사용되는 인터페이스이다.객체의 데이터를 Parcel이라는 형식으로 변환하여 다른 컴포넌트 간에 전달할 수 있도록 한다. 안드로이드에서는 기본적으로 제공하는 Serializable과 달리 Parcelable은 보다 빠르고 효율적으로 데이터를 직렬화할 수 있다. 그래서, 왜 사용하는데?성능이 뛰어나며, 메모리 효율성 측면에서도 최적화되어 있어..
[Kotlin/코틀린] 인터페이스와 다중 상속이란?
·
Kotlin
코틀린에서는 다중 상속이 불가능하다. 하지만, 인터페이스를 통해 이와 비슷하게 구현 가능하다. 예를 들어, 게임 캐릭터를 개발할 때, 하나의 캐릭터가 여러 가지 직업 특성을 가지도록 하게 만든다면 아래와 같이 구현할 수 있다. 인터페이스 정의하기각 지업을 인터페이스로 정의하여, 필요한 특성을 메서드로 구현할 수 있다. interface Archer { fun shootArrow() { println("궁수가 화살을 쏩니다!") }}interface Singer { fun sing() { println("가수가 노래를 부릅니다!") }}interface Warrior { fun attack() { println("전사가 공격합니다!") ..
[Kotlin/코틀린] override와 super 개념
·
Kotlin
상속코틀린에서는 상속 가능한 클래스를 만들기 위해서는 open 키워드를 사용한다.open 키워드를 사용하면 클래스나 메서드를 상속 및 오버라이딩 할 수 있게 한다. 기본적으로 코틀린의 모든 클래스와 메서드는 final로 간주되므로, 상속이 불가능하다. 즉, 다른 클래스가 상속하거나 메서드를 오버라이딩하지 못하게 막혀있다. 이를 가능하게 해주는 것이 open 키워드이다.open class Animal { open fun sound() { println("동물이 소리를 냅니다.") }} override를 하기 위해서는 fun 키워드 앞에 override를 함께 붙여 사용하면 된다.물론, open 처리된 메서드만 가능하다.class Dog : Animal() { override f..