의존성이란?소프트웨어 개발에서 의존성(Dependency)이란 한 모듈이 다른 모듈의 기능을 사용하거나, 하나의 객체가 다른 객체의 기능을 사용하는 것을 뜻한다. 예를 들어 A 객체의 기능을 실행할 때 B 객체가 필요하다면, "A 객체는 B 객체에 의존한다"라고 한다. 의존성은 의존하는 정도에 따라 강한 결합과 느슨한 결합으로 나눌 수 있다. 이어서 이 두가지 개념을 사용해 의존성에 대해 이해해보도록 하자. 강한 결합을 통해 이해하는 의존성강한 결합이란?우리가 SNS앱을 개발하는데, 유저에게 푸시 알림을 보내는 서비스를 만든다고 해보자. 그러면 이런 역할을 하는 PushNotificationService는 다음과 같이 만들 수 있다. class PushNotificationService { fu..
Android
애러 발생 상황Android Gradle Plugin 버전을 7점대 버전에서 8점대 버전(8.7)로 업그레이드 하니 다음과 같은 오류가 발생했다. error: incompatible types: cannot be converted to int 애러 원인컴파일된 파일을 보니, layout 값이 int 값이 아니라 null 값으로 설정된다. 기존에는 이곳에 R.layout.XXX 에 해당하는 값이 들어갔다.@kotlin.Metadata(mv = ...)@android.annotation.SuppressLint(value = {"NonConstantResourceId"})@com.airbnb.epoxy.EpoxyModelClass(layout = null) 확인해보니, AGP(Android Gradle ..
오류 메세지와 원인 분석 안드로이드 API33부터 onBackPressed 함수가 Deprecated 되면서 함수를 override하면 다음과 같은 경고 메세지가 뜨고 있다. 'onBackPressed(): Unit' is deprecated. Overrides deprecated member in 'androidx.core.app.ComponentActivity 직역하면 다음과 같은 뜻이다. 'onBackPressed(): Unit'은 더 이상 사용되지 않습니다. 'androidx.core.app.ComponentActivity'에서 더 이상 사용되지 않는 메서드를 재정의합니다. 당분간은 메세지가 뜬 상태로 있겠지만, 향후 몇 버전 뒤에는 코드가 없어질 것이므로, 이 글에서는 onBackPressed를..
onBackPressedDispatcher이란? 안드로이드에서 애플리케이션을 개발하다보면, 종종 Activity 혹은 Fragment에서 뒤로 가기 버튼에 대한 동작을 커스텀하게 정의해야 할 상황이 발생한다. 이렇게 뒤로 가기 버튼에 대한 동작을 커스텀하게 정의해야 할 때, Activity 혹은 Fragment에서 접근할 수 있는 onBackPressedDispatcher를 사용할 수 있다. *onBackPressedDispatcher 변수는 OnBackPressedDispatcher 객체를 가리킨다. onBackPressedDispatcher 사용해 뒤로가기 동작 설정하기 onBackPressedDispatcher를 사용해 뒤로 가기 동작을 정의하기 위해서는 두가지가 필요하다. onBackPressed..
toml 파일이란 무엇인가? TOML(Tom's Obvious, Minimal Language)은 GitHub의 공동 창립자인 Tom Preston-Werner가 만든 파일 형식으로, 이름 그대로, 간결하면서도 읽기 쉬운 파일 형식이다. 일반적으로 키-값쌍으로 값들을 관리하며, 하나의 파일로 여러 프로젝트의 버전 관리를 통합하는데 사용될 수 있다. 그동안 안드로이드에서는 주로 buildSrc를 사용해 버전 관리를 해왔는데, 최근 toml이 매우 활성화되기 시작해 이번 글에서 다뤄보고자 한다. *Android Developers 에서도 공식적으로 Version Catalog로 이전 이라는 명칭으로, toml 파일을 사용하는 방법을 설명하고 있으며, Android Gradle Plugin(AGP) 버전 7...