List<String> a = new ArrayList<>();
정말 사소하지만 사소하지 않게 궁금했던 미스테리
국비에서 어찌저찌 자료구조를 배우고, 실습 과제를 할 때 일이다.
국비학원에서는 디테일하게 코드를 봐주거나 하는 일이 별로 없었기 때문에, 조원들끼리 머리를 싸매고 유사 석기시대 마냥 코드를 짜고 있었더랬다.
그 때의 우리는, 막 ArrayList, HashMap 등을 배웠고, 그걸 활용해서 간단한 프로그램을 짜고 있었는데, 나는 너무 당연하게 아래와 같이 코드를 썼다.
ArrayList<String> list = new ArrayList<>();
그러다가, 현업에서 일하는 친구를 둔 한 조원이 짠 코드를 보니 다음과 같이 선언되어 있었다.
List<String> list = new ArrayList<>();
어?
그 때는 아무리 생각해도 양쪽을 다르게 쓰는(?) 이유를 모르겠어서 친구에게 물어보니, 현업에서는 대부분 저렇게 쓴다고, 이유는 잘 모르겠지만 여튼 저렇게 쓴대!라는 답을 들었다.
물론 당시에는 코드를 짜서 실행 시키는 데 급급했기 때문에 넘어갔지만, 나와 같은 의문을 품는 사람들이 있을까봐 이렇게 기록을 남겨둔다.
저렇게 코드를 짜는 이유는
유연성
때문이다.
결국
List<String> list = new ArrayList<>();
// List 인터페이스를 참조하여 ArrayList로 구현
요 코드를 나중에 성능 개선이나 기능 추가 같은 일이 발생하여 구현을 다른 것으로 바꿀 일이 있을 때 (Vector나 LinkedList 등..) 유연하게 바꿀 수 있도록 하는 것이다.
Author And Source
이 문제에 관하여(List<String> a = new ArrayList<>();), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hailey_dev/ListString-a-new-ArrayList저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)