[JAVA] Comparable과 Comparator에 대하여
·
자바
컬렉션을 다룰 때 객체를 정렬하는 일은 자주 발생한다.예를 들어 List가 있다고 가정해보자. 이 리스트를 이름순으로 정렬하거나, 나이순으로 정렬하거나, 가입일 순으로 정렬할 수도 있다. 하지만 여기서 한 가지 문제가 있다. 자바는 int, String, double 같은 기본 타입은 어떤 값이 큰지, 작은지를 알고 있어서 정렬이 가능하다. 하지만 사용자가 정의한 클래스, 예를 들어 User 같은 객체는 어떤 속성을 기준으로 비교해야 하는지 알지 못하기 때문에 기본적으로 정렬이 불가능하다.이 문제를 해결하기 위해 자바는 두 개의 비교 인터페이스를 제공한다.ComparableComparator두 인터페이스 모두 객체 간의 대소 비교를 가능하게 하지만, 사용 방식과 의도는 분명히 다르다. 지금부터 각각의 특..