public class Gallery03Activity extends Activity {
....   
      class ContactsAdapter extends BaseAdapter{
private ArrayList<galleryList> Data;
    .........
public View getView (int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder holder;
if(convertView == null)
{
LayoutInflater inflater = LayoutInflater.from(Gallery03Activity.this);
convertView = inflater.inflate(R.layout.gallery_listelement,parent,false);
holder = new ViewHolder(); // static class instance 생성? 
holder.txtName = (TextView)convertView.findViewById(R.id.txt_Name);
holder.txtNumber = (TextView)convertView.findViewById(R.id.txt_Number);
convertView.setTag(holder);
}
else{
holder = (ViewHolder)convertView.getTag();
}
String name = Data.get(position).toString();
String number = Data.get(position).toString();
holder.txtName.setText(name);
holder.txtNumber.setText(number);
return convertView;
} // getView() Method 부분
} //ContactsAdapter 부분.
    static class ViewHolder { // Activity Class의 정적 내부 클래스
TextView txtName;
TextView txtNumber;
}
} // Activity Class 부분

위와 같이 Custom Adapter를 구현하기 위해서 사용한 소스 부분입니다.
여기서 이해가 안가는 부분이 GetView() CallBack 메소드 내부에서 static 클래스의 ViewHolder 인스턴스 생성부분입니다.
holder = new ViewHolder(); // static class instance 생성?
Custom Adapter Class는 instance 타입의 클래스 인데.... ViewHolder는 static 내부 클래스입니다. 
이렇게 호출 될때마다 (convertView가 Null인 경우) 새로운 instance를 생성하는게 가능한지 이해가 안가네요.
그리고 굳이... 왜 정적 내부 클래스로 만들었을까요?