둘 다 객체를 정렬하는 방법을 정의하지만 다르게 합니다. **Comparable**은 클래스의 자연 순서를 정의하고(클래스 자체가 구현), **Comparator**는 외부의 대안 순서를 정의합니다(별개의 객체). 선택은 순서가 본질적인지 상황적인지에 달려 있습니다.
Comparable — 자연 순서 (하나, 클래스에 내장됨)
<Person> {
String name;
age;
{
Integer.compare(.age, other.age);
}
}
List<Person> people = ...;
Collections.sort(people);
