ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Java] 일급 컬렉션을 알아보자!
    우아한 테크코스/테크코스 2020. 2. 6. 21:17
    반응형

    Java 일급 컬렉션이란?

    First Class Collection

    정의

    Collection을 Wrapping하면서, 그 외 다른 변수가 없는 클래스의 상태를 일급 컬렉션이라 함

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

     해당 컬렉션에서 필요한 모든 로직은 일급 컬렉션에서 구현

     비즈니스에 종속적인 자료 구조가 만들어짐 > 모든 로직이 컬렉션에서 구현되기 때문

    장점 2. Collection의 불변성 보장

     final만 선언하면 불변을 만들어주는 것이 아닌 재할당을 하지 않는 것

     private final을 선언하여 Collection을 생성해주고, 생성자를 통해 생성해주면 재할당이 불가능하므로 불변 컬렉션이 됨

     다른 메서드의 경우에도 Collection에서 값을 가져오는 것만 작성

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

     값과 로직이 함께 존재함(Enum과 장점 동일)

     값과 로직이 따로 존재한다면 같은 기능의 메서드를 중복 생성하거나, 2개 이상의 동일 상태를 관리하는 메서드의 경우 동시 수정을 해야하는지, 하나만 수정해도 되는지 확인하기가 어렵고, 이는 관리 포인트를 증가시킴. 또한 계산 메서드를 누락할 수 있고, 계산 메서드를 만들더라도 강제할 수 없음. 즉, 코드가 흩어짐에 따라 관리가 어려워짐

     일급 컬렉션 내에서 상태와 행위를 모두 관리하므로, 해당 일급 컬렉션을 사용하는 사용 클래스에서는 상태와 로직을 한 곳에서 관리할 수 있음

    장점 4. Collection에 명명가능

     일급 컬렉션 생성시 Class명을 명명하게 되는데, 이렇게 되면 검색도 편하고 명확한 표현도 가능하게 됨

     

    반응형

    '우아한 테크코스 > 테크코스' 카테고리의 다른 글

    2주차 리뷰  (0) 2020.02.15
    정규표현식(Regular expression)  (0) 2020.02.08
    1주차 리뷰  (0) 2020.02.08
    [IntelliJ] MAC 단축키 등 알아두기!  (0) 2020.02.06
    [Java] JUnit  (0) 2020.02.05

    댓글

Designed by Tistory.