listview 최적화에 대해서 찾아보다가 
public View getView(int position, View convertView, ViewGroup parent) {
  ViewHolder holder;
  if (convertView == null) {
    convertView = mInflater.inflate(R.layout.list_item, null);
    holder = new ViewHolder();
    holder.text = (TextView) convertView.findViewById(R.id.text);
    convertView.setTag(holder);
  } else {
    holder = convertView.getTag();
  }
  holder.text.setText(“position " + position);
  return convertView;
  }
  private static class ViewHolder {
    public TextView text;
  }
다음과 같은 코드를 보았습니다. 하지만 
Textview textview;
public View getView(int position, View convertView, ViewGroup parent) {
  if (convertView == null) {
    convertView = mInflater.inflate(R.layout.list_item, null);
    textView = (TextView)convertView.findViewById(R.id.textView);
} 
  textView.setText(“position " + position);
  return convertView;
}
  private static class ViewHolder {
    public TextView text;
  }다음과 같이 전역변수로 TextView를 지정하게 되는게 더 적은 오버헤드로
이용이 가능한 방법 같은데 왜 settag와 getTag를 이용하는 것인가요?
고수님들 답변부탁드립니다!