자바 콘솔로 간단한 메모 작성 프로그램을 만들었다. 최근 수정일 기준 내림차순으로 출력해야 되는 요구사항이 있었는데 출력을 위해 원본 데이터를 정렬해버리면 다른 함수들에서 다시 재정렬해서 사용해야 되는 문제 때문에 복사본을 만들어서 정렬하여 출력하였다.
파이썬의 sorted의 간결함을 맛본 나는 sorted처럼 원본 데이터는 변경하지 않고 정렬된 새로운 데이터를 반환하는 함수가 있는지 궁금하여 찾아보았다. 하지만 결국 찾지 못해서 튜터님께 여쭤보았는데 원본 데이터를 복사하여 정렬 후 출력하게 하는 것을 의도하였다면 잘한 것이라고 하셨다. 이유는 data integrity의 관점에서 원본 데이터를 변경하는 것은 좋지 않다고 하셨다. display 함수 같은 데서는 더더욱. 일부 언어에서는 sort 함수 사용 시 아예 원본은 변경되지 않도록 돼있다고 한다.
내용 정리