반응형
반응형
안드로이드 개발에서 데이터 객체를 인텐트나 번들로 전달할 때, 데이터 객체를 직렬화 해야하는 경우가 많다. 스프링과 같은 프레임워크에서도 데이터 객체를 사용할 때 직렬화하는 경우가 많다.어쨋든, 코틀린에서는 @Parcelize를 사용하면 효율적으로 데이터를 직렬화와 역직렬화를 할 수 있다. Parcelable이란?Parcelable은 안드로이드에서 객체를 직렬화하는 데 사용되는 인터페이스이다.객체의 데이터를 Parcel이라는 형식으로 변환하여 다른 컴포넌트 간에 전달할 수 있도록 한다. 안드로이드에서는 기본적으로 제공하는 Serializable과 달리 Parcelable은 보다 빠르고 효율적으로 데이터를 직렬화할 수 있다. 그래서, 왜 사용하는데?성능이 뛰어나며, 메모리 효율성 측면에서도 최적화되어 있어..
숫자 데이터와 문자열 데이터를 서로 변환해서 사용하는 경우가 많이 있다.String to Int와 Int to String에 대해서 기록하려고 한다. String to Int 방법 1: toInt() 사용하기toInt() 함수를 사용해 문자열을 정수로 변환할 수 있다. toInt() 함수는 변환할 수 없는 문자열을 만났을 때 예외를 발생시키는데, 예외 처리를 고려해야 한다.val numberString = "123"val number: Int = numberString.toInt()println(number) // 출력: 123 동작 원리: toInt() 함수는 문자열을 정수로 변환, 변환할 수 없는 경우 예외를 발생예외 발생: 변환할 수 없는 문자열을 toInt()로 변환하려고 하면 NumberFor..
안드로이드 앱 개발에서 널리 사용되는 아키텍처 패턴 중 하나인 MVVM에 대해서 기록하려고 한다.요즘 안드로이드 개발을 취미로 시작하여 기록을 위해 작성한다. 혹여나 틀린 정보가 있다면 댓글로 남겨주신다면 반영하겠습니다 감사합니다. 서론MVVM 패턴이란?MVVM (Model-View-ViewModel) 패턴은 앱의 UI와 비즈니스 로직을 분리하여 보다 깔끔한 구조와 유지보수성을 제공하는 아키텍처 패턴이다. MVVM은 크게 세 가지 컴포넌트로 구성된다.Model: 데이터와 비즈니스 로직을 관리하는 컴포넌트View: 사용자에게 보이는 UIViewModel: Model과 View 사이의 중간 역할을 하며, 데이터를 가공하여 View에 전달하고 사용자 인터렉션을 처리MVVM은 데이터를 UI에 쉽게 바인딩하고, ..
코틀린에서는 다중 상속이 불가능하다. 하지만, 인터페이스를 통해 이와 비슷하게 구현 가능하다. 예를 들어, 게임 캐릭터를 개발할 때, 하나의 캐릭터가 여러 가지 직업 특성을 가지도록 하게 만든다면 아래와 같이 구현할 수 있다. 인터페이스 정의하기각 지업을 인터페이스로 정의하여, 필요한 특성을 메서드로 구현할 수 있다. interface Archer { fun shootArrow() { println("궁수가 화살을 쏩니다!") }}interface Singer { fun sing() { println("가수가 노래를 부릅니다!") }}interface Warrior { fun attack() { println("전사가 공격합니다!") ..
상속코틀린에서는 상속 가능한 클래스를 만들기 위해서는 open 키워드를 사용한다.open 키워드를 사용하면 클래스나 메서드를 상속 및 오버라이딩 할 수 있게 한다. 기본적으로 코틀린의 모든 클래스와 메서드는 final로 간주되므로, 상속이 불가능하다. 즉, 다른 클래스가 상속하거나 메서드를 오버라이딩하지 못하게 막혀있다. 이를 가능하게 해주는 것이 open 키워드이다.open class Animal { open fun sound() { println("동물이 소리를 냅니다.") }} override를 하기 위해서는 fun 키워드 앞에 override를 함께 붙여 사용하면 된다.물론, open 처리된 메서드만 가능하다.class Dog : Animal() { override f..