[JAVA] 자바의 default method
·
JAVA
default method란인터페이스는 기능에 대한 선언만 할 수 있기 때문에 메서드의 구현부가 있을 수 없다. 하지만!default method는 자바 8부터 도입된 인터페이스의 기능으로 인터페이스 내에서 구현체를 제공하는 메서드이다. 인터페이스에 새로운 기능을 추가하면서도 하위 호환성을 유지할 수 있다 → 기존 인터페이스에 메서드를 추가해도 구현 클래스들이 해당 메서드를 구현할 필요가 없음.default 키워드를 사용하여 선언하며 메서드 구현부를 가진다.구현 클래스는 default method를 그대로 사용하거나 오버라이드하여 재정의 할 수 있다.interface Vehicle { void accelerate(); // default method default void honk..
[JAVA] Comparable과 Comparator를 이용한 객체 비교와 이해 및 차이점
·
JAVA
Comprable, ComparatorComparble과 Comparator는 JAVA에서 다양한 곳에 활용 되고 있다. 대표적으로 Heap(Priority Queue)자료구조가 있다. 이름도 비슷해서 헷갈릴 만한 두 인터페이스의 차이를 알아보자! Comparble과 Comparator는 모두 인터페이스이므로 인터페이스 내 선언된 메서드를 반드시 구현해야 한다. 우선 두 인터페이스의 기본적인 구조를 알아보자 1. Comparable 인터페이스는 int 타입을 반환하는 compareTo(T o) 메서드를 가지고 있다.2. Comparator 인터페이스는 선언된 메서드가 많다    우리가 객체 비교를 위해 구현해야 할 메서드는 compare(T o1, T o2) 이다. 즉, Comparable 인터페이스를 ..