알고리즘을 공부하다보니 배열을 정렬해야되는 상황들이 많이 있었다. 물론 Arrays.sort 을 사용하여 정렬할 수 있지만 2차원 배열이거나 객체를 새로 만들어서 문제를 풀 때는 비교대상 기준을 정하는게 쉽지 않기때문에 Compare 을 통해 정렬하였다. 근데 막상 사용하는 두개의 차이점에 대해서 잘 모르고 사용했었다. 이번 글을 통해 정리하려고 한다. Comparable 과 Comparator 는 인터페이스(interface) 이다. 자바에서 인터페이스 내에 선언된 메소드는 반드시 구현 해야한다는 의무를 갖진다. 물론 Java8로 넘어가면서 default 함수나 static 함수는 재정의 할 필요는 없지만.. `Comparable` 인터페이스는 compareTo(T o) 함수가 하나 선언 되어있다. `..