작성
·
128
답변 2
1
안녕하세요, 후아휴 님!
명확한 기준이 있는 것은 아니지만, 저는 이 메서드를 사용하는 사용자(클라이언트)가 가장 이해하기 쉬운, 그리고 사용하기 쉬운 형태가 무엇일지를 기준으로 고민합니다.
제가 '메서드 선언부' 강의에서, 메서드가 가지고 있는 반환 타입, 메서드명, 파라미터 이 3가지가 연결되어 드러내는 의미가 가장 중요하다고 말씀드렸는데요.
A라는 메서드에서는 사용자가 반환타입으로 일급컬렉션을 받아서 그 이후의 로직을 처리하면 좋겠다, 라고 생각할 수도 있고,
B라는 메서드에서는 사용자가 List, Set, Map 등의 컬렉션을 바로 받아서 사용하는 것이 편하겠다, 라고 생각할 수도 있습니다.
예를 들어, 사용자가 일급컬렉션 내부의 객체를 전혀 몰랐으면 좋겠다, 라고 한다면 메서드의 모든 반환 타입은 반드시 모두 포장된 형태의 일급컬렉션이 되어야 할 것이고요.
사용자가 어떤 필터링된 리스트를 바로 사용하는 것이 좋겠다, 라고 한다면 일급컬렉션 내부에서 가지고 있는 데이터를 어떤 조건에 따라 필터링 가공을 한 뒤에 List 타입을 바로 반환해줄 수도 있을거에요.
이러한 관점으로 때에 따라 적절한 결정을 내려보시면 좋을 것 같습니다.
도움이 되셨기를 바랍니다.
감사합니다 🙂
0