20220627) List와 ArrayList의 사용

jihunnit·2022년 6월 27일
0
List<Member> members = new ArrayList<>();

자바 스프링 유저들에게 있어서 굉장히 친숙할? 이 코드
강의를 듣는중에 List를 이렇게 쓰는 것은 관행이라고 하시던데

(List interface를 이용한 업캐스팅 ArrayList 사용)

그냥 관행? 왜 관행이지? 그래도 관행이 될 만큼의 사용 빈도가 있으려면 필시 무엇인가 조금만거라도 이유가 있지 않을까?

...하는 마음에 찾아보았다.

찾아낸 이유들은 다음과 같다

1. 코드의 수정

-> ArrayList가 다른 자료구조로 바뀔 수 있는데, 앞에 interface가 아닌 구현체를 쓴다면 전부 바꿔야 하니까. 하지만 interface라면 그럴 필요가 없다.
(ex -> ArrayList였다가 LinkedList로 변경한다면..?)

2. 정말 관행스럽다면 관행스러운 느낌

-> 어차피 내가 개발하면서도 느낀게 딱히 ArrayList만의 method를 사용한다거나 하지는 않는것 같은데, 그냥 List의 구현체중에 뭔가 쓰니까 ArrayList가 주로 쓰이게 되었다.

3. 인터페이스를 통한 역할과 구현 분리

-> List라는 인터페이스(역할)을 통해 뒤에 구현체를 선언함으로써 역할 - 구현 분리를 통해 코드의 수정 변경 용이(근데 이거 1번이랑 똑같은거 아닌가)

핵심 요약

객체의 생성 시 interface를 이용하한 역할 - 구현 분리를 통해 코드 변경의 용이함을 얻어내는게 좋다!

이상 글을 마무리합니다. 감사합니다.

profile
인간은 노력하는 한 방황한다

0개의 댓글