Comparator
-
Item 14. Comparable을 구현할지 고려하라Book/Effective Java 3E 2022. 10. 20. 10:30
이번 아이템에서는 Comparable 인터페이스의 유일무이한 메서드인 compareTo에 대해 알아보겠습니다. 성격은 두 가지만 빼면 Object의 equals와 같습니다. compareTo는 단순 동치성 비교에 더해 순서까지 비교할 수 있으며, 제네릭합니다. Comparable을 구현했다는 것은 그 클래스의 인스턴스들에는 자연적인 순서(natural order)가 있음을 뜻합니다. 그래서 Comparable을 구현한 객체들의 배열은 다음처럼 손쉽게 정렬할 수 있습니다. Arrays.sort(a); 검색, 극단값 계산, 자동 정렬되는 컬렉션 관리도 쉽게 할 수 있습니다. 사실상 자바 플랫폼 라이브러리의 모든 값 클래스와 열거 타입(Item 34)이 Comparable을 구현했습니다. 알파벳, 숫자, 연대..
-
Java8. 기본 메소드 (Default Method)와 스태틱 메소드 (Static Method)BackEnd/Java 2022. 1. 22. 04:10
기본 메소드 (Default Method) 기본 메소드란 인터페이스에 메소드 선언이 아니라 구현체를 제공하는 방법으로 해당 인터페이스를 구현한 클래스를 깨트리지 않고 새 기능을 추가할 수 있습니다. 단, Object가 제공하는 기능 (equals, hashCode)는 기본 메소드로 제공할 수 없습니다. 아래 Default 인터페이스와 Default 인터페이스를 구현한 DefaultClass가 있습니다. public class Application { public static void main(String[] args) { Default defaultClass = new DefaultClass(); defaultClass.printJava(); } } public interface Default { voi..