[Java] 일급 컬렉션(First Class Collection)이 뭘까



TDD&클린코드 강의를 듣던 중, 일급 컬렉션을 사용하라는 요구사항이 있었다.
일급 컬렉션이 뭔지 정리하면서 이해해야겠다.

https://jojoldu.tistory.com/412


일급 컬렉션?

  • Collection을 Wrapping하면서, 다른 멤버 변수가 없는 상태를 말함

장점

  • 비즈니스에 종속적인 자료구조
    • 특정한 조건을 따르는 자료구조를 명확하게 구분할 수 있는 느낌~
  • 불변성 보장
    • final도 불변성 보장이지 않냐 -> 불변을 보장하진 않고, 재할당만 금지한다.
    • Setter같이 컬렉션의 값을 변경할 수 있는 메소드가 없는 컬렉션을 만들면 불변 컬렉션이 된다.
  • 상태와 행위를 한 곳에서 관리
    • Enum같이 사용 가능
  • 이름있는 자료구조
    • 원래같으면 같은 성격의 List를 다른 변수명으로 지을 수 있겠지만, 컬렉션 클래스이름이 정해져있기에 검색하기도 편하다.

다른 글