Bundle 은 Key-Value 쌍으로 이루어진 일종의 해쉬맵 자료구조입니다.
안드로이드 프레임워크 여러 곳에서 데이터를 서로 주고 받아야 할 때 자주 사용하는 자료구조이구요,
예를 들어, 찾아보신 것처럼 한 Activity 에서 다른 Activity 로 전달하고 싶은 데이터가 있을때도 이 Bundle을 사용하는데,
한 Activity에서 Intent 에 putExtras로 Bundle 데이터를 넘겨주고,
다른 Activity에서 getExtras로 데이터를 참조하는 방식입니다.
Bundle은 앞서 말씀드린대로 맵이기 때문에 여러개의 키-값 쌍을 가지고 있습니다.
내부에
<String key1, Integer value1>,
<String key2, String value2>,
<String key3, Long value3>...
이런식으로 String 키와 여러 타입의 값(정확히는 Parcelable을 구현하고 있는 타입)을 가질 수 있기때문에
int value1 = extra.getInt(key1),
String value2 = extra.getString(key2),
Long value3 = extra.getLong(key3)...
이런식으로 키로 값을 찾아 참조하는 방식을 사용합니다.
키는 변하지 않는 고정 상수값이기 때문에 보통 static final String으로 선언해놓고 참조하는 것이고요.