데이터 집합들을 개별 아이템 단위로 구성하여 화면에 출력해주는 뷰 그룹. 리스트 형태로 표시해주는 위젯. 동일한 형식을 갖는 리스트들을 구현할 때 주로 사용.
ListView: 리스트 개수 만큼 getView()를 호출
RecyclerView: ViewHolder로 만든 객체를 재사용
= 일정 개수만큼의 뷰만 만들고 재활용
= getView()는 일정개수만큼만하고 만들어진 뷰 객체에 데이터만 갈아끼움.
= onCreateViewHolder는 일정개수번 불리고, onBindViewHolder는 데이터 수만큼 불림.
getView() 많이 하는게 비효율적인 이유: (getView()는 id와 매치되는 View를 찾기 위해 parent→child를 다 돌게됨)
굳이 데이터를 넣어줄 때마다 이벤트처리해줄 필요가 없으므로
-> 뷰홀더 객체를 만들때 해주자
(ViewHolder생성자 / Adapter의 onCreateViewHolder 에서용)