Comparable, Comparator 모두 인터페이스로 객체의 값 비교나 정렬할 때 많이 사용한다. 인터페이스를 상속받아서 두 객체를 비교할 수 있도록 만들어주는 것이다. 왜 객체를 비교해야할까? primitive 타입의 경우 부등호로 쉽게 비교가 가능하다. 그러나 객체의 경우 부등호로 비교할 수 없다. 고로 두 인터페이스 중 한가지를 이용하여 객체를 바교하는 것이다. 둘 다 사용하고자 한다면 인터페이스 내 선언된 메서드를 반드시 구현해야한다. Comparable 인터페이스는 compareTo(T o) 메서드를 구현해야하고 Comparator 인터페이스는 compare(T o1, T o2) 메서드를 구현해야 한다. Comparable의 compareTo 메서드는 파라미터가 한개이고, Comparato..