List list = new ArrayList() JSP

1. List list = new ArrayList(); 와 ArrayList list = new ArrayList(); 는 뭐가 다른것인가요?


List list = new ArrayList() 는

도형 list = new 정사각형();

ArrayList list = new ArrayList();

정사각형 list = new 정사각형();

위의 예처럼 List는 interface입니다. 인터페이스는 공통되는 메소드를 추출해놓은 클래스로 생각하시면 됩니다.
클래스를 생성할때 도형 타입으로 생성하게 되면 정사각형이 아닌 다른 직사각형, 삼각형등 도형 인터페이스를 구현한 클래스에서 사용 될 수 있습니다.
그렇지만 정사각형 클래스로 생성하게 되면 직사각형, 삼각형등에서는 사용할 수 없게 됩니다. 자바의 특징중 다형성을 참조 하십시오.

2. List<Student> list = new ArrayList<Student>(); 와 List list = new ArrayList<Student>(); 는 뭐가다른것인가요 ?


이 부분은 위와 비슷한 부분인데 간단하게 List에 담겨질 객체의 타입을 정해 준 겁니다. 기본적으로 자바의 Collection 은 Object 타입으로 추가가 됩니다.

List list = new ArrayList();

Object obj = list.get(1); // 이런식으로 Object 타입으로 리턴이 됩니다.

그렇지만

List<Student> list = new ArrayList<Student)();

Student stu = list.get(1); // 이런식으로 return 타입이 Student 객체로 출력 됩니다.

그리고 타입을 설정하게 되면 Student 객체가 아닌 다른 타입은 add를 할 수 없기 때문에

오류를 예방 할 수 있습니다.


덧글

  • hexists 2015/05/12 16:50 # 삭제 답글

    감사합니다~ 덕분에 잘 이해할 수 있었습니다. 트랙백 걸어둡니다.
  • hexists 2015/05/12 16:51 # 삭제 답글

    감사합니다~ 덕분에 잘 이해할 수 있었습니다. 트랙백 걸어둡니다.
  • coco 2015/10/07 18:57 # 삭제 답글

    덕분에 이해했습니다^^
  • 2016/04/18 16:54 # 삭제 답글 비공개

    비공개 덧글입니다.
  • 2016/04/18 16:55 # 삭제 답글 비공개

    비공개 덧글입니다.
  • 2016/04/18 16:55 # 삭제 답글 비공개

    비공개 덧글입니다.
댓글 입력 영역


통계 위젯 (화이트)

421
92
287926