개발

맵과 모델, 어떤 것을 사용해야 할까?

소밍소밍 2022. 3. 14. 00:40

코드에는 답이 없기 때문에 어떤 것이 맞고, 어떤 것이 틀렸다고 할 수 없다. 상황에 맞춰서 잘 생각해서 사용하면 된다.

  • 의미가 모호
    • put, get 메소드를 보기 전에는 무엇을 전달하려고 하는지 알 수 없음
  • 타입에 대한 강제성이 없음
    • value 선언을 최상위 타입인 Object로 해줘야 함
    • Type Mismatch와 같은 예외처리 나기가 쉽다
  • 유연함
    • 단순히 데이터를 얻어올 때 사용
    • 예외가 나더라도 데이터를 일단 받아야 한다면 사용을 고려한다
    • 데이터 타입이 자주 변경되는 곳에서 사용하기 좋음
  • 모델에 비해 40% 이상 GC가 이루어지기 때문에 모델에 비해 1.3~2배 느리다.

모델

  • 의미가 명확
    • 주석이나 변수명만 보고도 직관적으로 무엇을 전달하려고 하는지 알 수 있음
  • 타입에 대한 강제성이 있음 (자료형을 명확하게 지정)
    • Type Mismatch의 위험이 적음
    • 그러나 데이터 타입 변경이 생길 때마다 타입을 변경해줘야 함

'개발' 카테고리의 다른 글

형상관리와 버전관리  (0) 2022.03.15
PCDATA와 CDATA  (0) 2022.03.14
URI 경로에 대문자를 사용해도 될까?  (0) 2022.03.14
유스케이스 (Use Case)  (0) 2022.03.14
Quartz Scheduler  (0) 2022.03.14