findViewById를 알 필요가 있다. findViewById는 레이아웃에 있는 뷰를 리소스 id를 통해 원하는 뷰를 가져올 수 있는 메소드이다.kotlin-android-extensions가 쓰이기 시작했는데 kotlin-android-extensions는 findViewById와 마찬가지로 레이아웃에 있는 뷰를 리소스 id를 통해 원하는 뷰를 가져올 수 있는데 findViewById 다르게 findViewById()를 하지 않고 바로 뷰의 id를 바로 가져올 수 있어 따로 추가 코드를 작성하지 않아 코드가 간결해 집니다.kotlin-android-extensions가 deprecated가 되었는데 그 이유는 실수할 여지가 매우 많다는 결론에 deprecated가 되었다고 한다. 어떤 부분에서 실수가 되는가 살펴보면 레이아웃의 갯수가 많이 없으면 상관이 없지만 갯수가 많아지면 만약 A, B 레이아웃에 똑같은 TextView에 똑같이 id를 textView라고 지정하면 코틀린 파일에서 textView를 가져오려고 하면 어떤 textView를 가져와야 하는지 혼동이 될 수 있다. 이런 부분에서 실수가 할 여지가 많다고 생각해 deprecated가 된 거 같습니다.ViewBinding, DataBinding을 이용해 레이아웃에 있는 뷰를 가져오는 방식을 많이 사용합니다.그래서 ViewBinding, DataBinding이 어떤점이 차이가 있는지 블로그에 기록하려 합니다.참고
https://thdev.tech/android/2020/10/07/Remove-kotlinx-synthetic/
https://velog.io/@deepblue/Kotlin-Android-Extensions%EC%9D%B4-deprecated%EB%90%9C-%EC%9D%B4%EC%9C%A0
ViewBinding은 연결은 레이아웃에 존재하는 View만을 가져올 수 있다.findViewBy처럼 일일이 View를 가져와 형변환해 변수에 안 넣어줘도 된다.참고
https://developer.android.com/topic/libraries/data-binding?hl=ko
https://jutole.tistory.com/5
그럼 어떤 부분이 차이가 있는지 살펴보면 다음과 같은 차이가 있다고 합니다.
DataBinding이 ViewBinding보다 큰 개념이여서 ViewBinding 의 기능 사용이 가능합니다.DataBinding을 사용하면 클래스 파일이 많이 생겨 빌드 속도가 느려 findViewBinding을 대체하기 위해서 사용하는 목적이라면 ViewBindng이 효율이 좋습니다.ViewBinding은 레이아웃 파일의 뷰를 간단하게 접근하는 목적으로 사용이 되며, DataBinding은 레이아웃 파일과 데이터를 연결해 작업을 할 때 사용이 된다.ViewBinding은 단방향바인딩, DataBinding은 양방향바인딩이다.ViewBinding은 동적인 UI 콘텐츠를 생성하지 못한다.참고
https://warmdeveloper.tistory.com/51
https://velog.io/@godmin66/ViewBinding%EA%B3%BC-DataBinding
https://jutole.tistory.com/5

좋은 정보 감사합니다