안드로이드 기술면접은 안드로이드 앱 개발과 관련된 지식과 기술에 대해 평가하는 프로세스입니다. 이 포스트에서는 안드로이드 기술면접에서 자주 등장하는 질문과 답변 예시를 제공하겠습니다.
1. 안드로이드의 Activity와 Fragment의 차이점은 무엇인가요?
-
Activity: Activity는 안드로이드 앱의 사용자 인터페이스를 담당하는 컴포넌트입니다. 하나의 앱이 여러 개의 화면을 가질 수 있으며, 각 화면마다 하나의 Activity가 할당됩니다. 사용자와의 상호작용이 이루어지는 주요 컴포넌트로, 라이프사이클 메서드를 활용하여 앱의 상태 변화에 따른 작업을 처리할 수 있습니다.
-
Fragment: Fragment는 액티비티의 일부분을 나타내는 UI 컴포넌트입니다. 액티비티 내에서 여러 개의 프래그먼트가 동시에 표시될 수 있으며, 재사용성과 모듈성을 높여주는 장점이 있습니다. 프래그먼트는 액티비티의 라이프사이클에 종속됩니다.
-
차이점: Activity는 화면 전체를 다루는 컴포넌트이며, Fragment는 액티비티 내에서 사용되는 작은 화면 요소입니다. 여러 개의 프래그먼트를 사용하여 한 화면에서 다양한 기능을 제공할 수 있습니다. 또한, 액티비티 간의 전환과 같이 앱의 메인 흐름을 담당하는 역할은 액티비티가 담당합니다.
2. 안드로이드에서 생명주기(Lifecycle)는 어떻게 동작하나요?
안드로이드 앱의 생명주기는 앱이 실행되고 종료되는 동안의 상태 변화를 말합니다. 앱의 생명주기는 다음과 같은 주요 단계로 이루어집니다:
-
onCreate(): 액티비티나 프래그먼트가 처음 생성될 때 호출됩니다. 초기화 작업을 수행하는 데 사용됩니다.
-
onStart(): 액티비티나 프래그먼트가 사용자에게 표시되기 직전에 호출됩니다. 뷰를 초기화하거나 데이터를 로드하는 등의 작업을 수행할 수 있습니다.
-
onResume(): 액티비티나 프래그먼트가 사용자와 상호작용할 수 있을 때 호출됩니다. 사용자 입력에 응답하고 애니메이션을 시작하는 등의 작업을 수행합니다.
-
onPause(): 다른 액티비티가 포커스를 가지거나 액티비티가 더 이상 보이지 않을 때 호출됩니다. 사용자 데이터나 작업 상태를 저장하고 불필요한 리소스를 해제하는 등의 작업을 수행합니다.
-
onStop(): 액티비티나 프래그먼트가 더 이상 보이지 않을 때 호출됩니다. 리소스를 해제하거나 백그라운드 작업을 중지하는 등의 작업을 수행합니다.
-
onDestroy(): 액티비티나 프래그먼트가 완전히 종료되고 메모리에서 제거될 때 호출됩니다. 리소스를 해제하고 앱 데이터를 정리하는 등의 작업을 수행합니다.
이러한 생명주기 메서드를 이용하여 앱 상태 변화에 따른 작업을 효과적으로 관리할 수 있습니다.
#android #기술면접