Android - Base (보완 예정)

Park Suyong·2022년 2월 23일
0

Android Dev

목록 보기
4/7

Base Code

Android 개발자라면 Base Code를 꽤 많이, 자주 접하게 된다. 해당 Base Code는 무엇인지, 왜 사용하는지 등에 대해 알아보도록 한다.

정의

Base Code는 Activity, Fragment, ViewModel 등에서 반드시 사용되는 코드들을 한 번에 작성해 둔 뒤 상속받아 사용하는 구조로 작성한다. 매번 파일을 새로 생성하고 액티비티, 프레그먼트, 뷰모델 등을 생성할 때마다 작성해야 하는 코드를 한 번에 작성하고 상속하는 것이다.

상속

결국은 상속이다. 이전 Delegation Pattern에서도 설명했듯이 상속은 위험성이 존재한다. 이펙티브 자바에서는 다음과 같이 표현한다고 한다.

is - a 관계를 유지하기 어렵다면 이 역시 상속을 생각하지 않는 게 좋다.

모두가 상속을 납득할 만한 이유라면 상속을 사용하되, 그것이 아니면 상속을 하지 않는 것이 좋다. 코드를 수정하는 과정에서 상당히 안 좋은 영향을 미칠 수 있기 때문이다.

Android에서 상속은 Activity와 Fragment에 Base를 만드는 형태로 사용한다. 작성해야 하는 중복된 코드를 줄인다는 점에서 개발 생산성을 늘릴 수 있다는 장점이 존재한다. 그러나 이 방식도 상속의 문제점에서 벗어날 수 없다. Base 코드가 변경되게 된다면 수 없이 많을 액티비티와 프레그먼트의 코드를 모두 변경해야 할 수도 있다. 치명적인 단점이다.

해결책

References

안드로이드의 익숙한 BaseXXX class를 알아보고, 설계의 중요성을 알아보자.

profile
Android Developer

0개의 댓글