코틀린 data class에서 자동으로 처리하는 equals와 hashCode를 알아보자.
효과적인 코틀린 사용하기 2 번째 글로 data class의 equals와 hashCode를 알아보려고 한다.
이 글에서 알아볼 내용
- data class는 왜 사용하는지, Equals, hashCode를 왜 재정의 해야 하는지 살펴본다.
- 값 비교할 때 사용하는
==
(equals)와 메모리 비교를 위한===
를 알아본다.
Android developer's blog. story.
효과적인 코틀린 사용하기 2 번째 글로 data class의 equals와 hashCode를 알아보려고 한다.
==
(equals)와 메모리 비교를 위한 ===
를 알아본다.효과적으로 Kotlin을 사용하고, 적용하려면 어떻게 하는 게 좋을까?
많은 사례들이 모든 좋은 결과물을 만들진 않지만, 다양하게 보다 보면 좀 더 좋은 코드를 만드는 데 도움을 줄 수 있다.
결국 많은 코드를 작성하고, 자신이 작성한 코드의 리팩토링이 필요함을 함께 깨우칠 수 있기도 하다. 처음부터 너무 욕심부려도 만족스러운 코드가 나오지는 않는다.
그래서 필요한 게 Effective 관련 서적을 함께 보는 것을 추천한다. 이 책에서 좋은 사례들을 많이 접할 수 있으며, 왜 이렇게 설계했고 이렇게 썼을 때 좀 더 좋은 방법 등을 함께 살펴볼 수 있기 때문이다.
필자 생각으론 아름다운 코드란 존재하지 않는다고 생각하나, 동작하는 코드를 만들어내기도 사실 바쁘다. 동작하는 코드를 조금씩 조금씩 수정하다 보면 자기도 모르게 발전되어잇는 모습을 확인할 수 있다.
이런 부분을 위한 최소 조건으로 코드 컨벤션 지키는 것부터 시작해도 좋다고 생각한다.
이 글에서는 읽기 좋은 코드를 만들기 위한 2가지 방법을 살펴본다.
안드로이드는 AAC-ViewModel을 제공하는데 기본 3가지를 제공한다.
1번과 2번 케이스는 그냥 자기 자신만 사용하는 경우에 흔하게 사용한다.
3번의 케이스는 Activity는 하나이고, Fragment가 여러 개인데 데이터 관리는 Activity만을 기준으로 처리하는 경우가 있다.
이 경우 3번 케이스를 사용하는데, Fragment-KTX를 활용하면 매우 쉽게 접근할 수 있다.
이렇게 3가지 방법을 알아보는 글이다.
그전에 AAC-ViewModel의 내부 구조가 궁금하다면 > Android Architecture Components ViewModel을 간단하게 초기화 하려면? 살펴보면 좋다.
Android RecyclerView.Adapter에 DataBinding 활용하는 방법을 정리한다.
Android RecyclerView 사용하기 Android ListView 사용하기
이번에 작성하는 글에는 Android ViewModel을 활용하며, DataBinding을 간단하게 활용하기 위한 방법을 소개한다.
이번 글에서는 아래 내용을 토대로 작성하지만, 이미 DataBinding 활용을 잘 하고 있는 사용자는 불필요한 내용일 수 있다.
이 라이브러리는 GitHub에서 확인 가능하다.
2016년에 작성한 MediaProjection 프로젝트를 수정하여, 수정하면서 달라진 부분과 MediaProjection 사용 시 달라진 점들을 살펴본다.
안드로이드 화면 캡쳐 API - MediaProjection 사용해보기 MediaProjection Example - MVP 패턴 적용
크게 달라진 부분을 제외하고, API는 위 2개의 글을 통해 확인이 가능하다.