런타임시 UI를 사용자와 상호작용하며 실시간 수정 가능
→ 사용자가 앱을 실행하여 사용하는 도중에 Activity 모양 수정 가능
→ BottomNavigationView가 존재하는 앱에서, 사용자가 ‘홈’을 클릭하면 홈이 나오고, ‘마이페이지’를 클릭하면 마이페이지가 나오는 것 (UI가 실시간으로 바뀜 = 프래그먼트 추가/교체/삭제 등의 작업이 실행)
런타임시, 프래그먼트의 변경사항을 FragmentManager
이 관리하는 프래그먼트 백 스택에 변경 사항 히스토리를 저장해 기록할 수 있다.
프래그먼트 백 스택에 저장된 변경 사항들에 한해, 사용자가 ‘뒤로’ 버튼을 눌렀을 경우, 변경사항 취소가 되어 되돌리기 작업을 진행할 수 있음
프래그먼트 클래스에는 자체 UI를 관리하는 로직만 구현해야 하고 다른 Activity나 다른 프래그먼트를 직접 조작하는 로직을 포함해서는 안됨 (모듈성, 재사용성을 해침)