Skip to content

Latest commit

 

History

History
55 lines (31 loc) · 1.51 KB

일급 컬렉션이란.md

File metadata and controls

55 lines (31 loc) · 1.51 KB

일급 컬렉션이란?

📌 정의

정말 간단하다. Collection을 Wrapping하면서 다른 Field가 없는 상태를 이야기한다.

👍 장점

  1. 비즈니스에 종속적인 자료구조

    해당 자료구조에 검증 로직을 넣으면 여러 곳에서 검증할 필요가 없어짐.

  2. 불변

    Collection은 final로 선언해도 내부 값을 변경할 수 있는데, 일급 컬렉션을 사용하면 불변 컬렉션을 구현할 수 있기때문.

    일급 컬렉션 내부에 Collection Field를 final로 선언하고, 생성자에서 값을 받으면 Collection에 접근할 방법이 없으므로 불변 Collection이 된다.

  3. 상태와 행위를 한 곳에서 관리

    일반적으로 Collection에서 값을 가지고 있고, 계산은 Service단에서 하는 경우가 많은데, 일급 컬렉션을 사용하면 해당 자료구조 내에서 값을 꺼내올 때 계산을 할 수 있다.

  4. 이름이 있는 컬렉션

    일반적인 List<>보다는 명시적인 AfterSchool과 같이 명시할 수 있다.

위의 장점들 중 여러 장점들이 응집도와 관련된 것이다.

😎 예시

class UserResponse {
    
    private String name;
    private List<String> afterSchools;
    
}
class UserResponse {
    
    private String name;
    private Afterschool afterSchools;
    
}

class AfterSchool {
    
    private List<String> afterSchools;
    
}

위 코드를 아래와 같이 Collection을 Wrapping해준 것이 일급 컬렉션이다.