woowacourse / tecoble-comments

0 stars 0 forks source link

tecoble/post/2020-05-08-First-Class-Collection/ #9

Open utterances-bot opened 4 years ago

utterances-bot commented 4 years ago

일급 컬렉션을 사용하는 이유 | javable

일급 컬렉션이란?

https://woowacourse.github.io/tecoble/post/2020-05-08-First-Class-Collection/

jojoldu commented 4 years ago

좋은 글 감사합니다 :) 충분히 공감이 많이 된 글입니다.

티거님께서 말씀해주신대로 자바라는 언어에선 final로도 불변이 보장되지 않고, 컬렉션 특성상 Getter를 그대로 사용하면 레퍼런스 관계가 되어 값을 추가할 수 있습니다.

그래서 블로그 예제에서도 Getter를 쓰고 있진 않습니다.

저 역시 일급컬렉션에 필요한 값만 반환하는 별도의 메소드들을 만들어서 사용하고 있습니다. (컬렉션 그대로 반환하지 않고, 외부에선 컬렉션 내부 필드에 단독 접근은 불가능한 형태죠)

생성자로 받은 컬렉션값을 그대로 반환하는 기능은 두지 않고, 가공된 값 or 목적에 맞는 값만 반환하는 형태로 구현하고 있습니다. 그래서 위에서 언급한 문제가 발생하진 않았어서 별 신경을 쓰지 않았던 것 같네요 :)

만약 내부의 컬렉션 필드 그대로 반환해야한다면 위에서 언급하신 2개의 방법을 쓰셔도 될 것 같습니다 :)

요 내용을 개인 블로그 본문에 써야지 써야지 하면서 계속 다른분들의 질문에 메일로 답변만 하다가 이젠 추가해야겠다고 생각이 정말 드네요 ㅠㅠ 좋은 주제로 이야기해주셔서 감사합니다 :) 테스코스분들이 매 기수마다 한분씩은 꼭 질문해주시는것 같습니다 ㅋㅋ

image

brewagebear commented 3 years ago

매우 좋은 글 잘보고 갑니다.

항상 다양한 관점에서 보는게 중요할거같네요 ㅎㅎ