작성
·
45
0
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
여기에 질문 내용을 남겨주세요.
안녕하세요!
문제와 풀이를 해보다 문득 궁금해졌는데,
혹시 ArrayList 생성할때
List<Integer> list = new ArrayList<>();
ArrayList<Integer> list = new ArrayList<>();
두개의 차이가 있을까요 ..?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 혜진님.
질문해주신 List<Integer> list = new ArrayList<>();
와 ArrayList<Integer> list = new ArrayList<>();
두 가지 선언의 차이에 대해 설명드리겠습니다.
List
List
라는 인터페이스 타입으로 ArrayList
객체를 참조합니다. 이는 코드의 유연성을 높이는 장점이 있습니다. 즉, 나중에 참조 변수 list
가 다른 List
의 구현체로 변경되어도 코드의 나머지 부분에서는 변경이 필요 없게 됩니다.ArrayList
ArrayList
의 구체적인 구현 클래스로 참조를 만듭니다. 이는 해당 객체가 ArrayList
의 특성이나 메서드에 의존할 필요가 있는 경우 적합합니다.가장 큰 차이는 유연성과 구체적인 구현체 사용에 대한 차이입니다. 일반적인 경우, 인터페이스 타입을 사용하여 선언하는 것이 더 좋은 실천 방법인 경우가 많습니다. 이는 변경에 유연하며 다른 List
구현체로 쉽게 변경할 수 있기 때문입니다.
이와 관련된 유사한 질문에 대한 답변을 몇 가지 링크로 공유드립니다:
- List와 ArrayList
- 컬렉션 필드에서 초기화 질문이 있습니다. (ArrayList 기본 사이즈 문제)
- List 초기 값 문의드립니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.