![]() 
                    
                      
                      
                      의존성이란?소프트웨어 개발에서 의존성(Dependency)이란 한 모듈이 다른 모듈의 기능을 사용하거나, 하나의 객체가 다른 객체의 기능을 사용하는 것을 뜻한다. 예를 들어 A 객체의 기능을 실행할 때 B 객체가 필요하다면, "A 객체는 B 객체에 의존한다"라고 한다.  의존성은 의존하는 정도에 따라 강한 결합과 느슨한 결합으로 나눌 수 있다. 이어서 이 두가지 개념을 사용해 의존성에 대해 이해해보도록 하자. 강한 결합을 통해 이해하는 의존성강한 결합이란?우리가 SNS앱을 개발하는데, 유저에게 푸시 알림을 보내는 서비스를 만든다고 해보자. 그러면 이런 역할을 하는 PushNotificationService는 다음과 같이 만들 수 있다. class PushNotificationService {    fu..
                     
                   
                
                  
                    ![]() 
                    
                      
                      
                      애러 발생 상황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...