개요 상위 클래스의 메서드를 재정의해 원하는 동작을 직접 구현하는 것보다, 같은 효과의 함수 객체를 매개변수로 받는 메서드나 생성자를 제공하는 것은 보다 큰 유연함을 제공한다. LinkedHashMap 클래스의 protected 메서드인 removeEldestEntry를 예시로 살펴보도록 하자. protected boolean removeEldestEntry(Map.Entry eldest) { return false; } 새로운 원소를 추가하는 put 메서드는 이 메서드를 호출하여 true가 반환될 경우 가장 오래된 원소 하나를 제거한다. 이를 활용하여 원소의 최대 개수를 제한해 맵을 캐시처럼 사용할 수 있다. public class CustomLinkedHashMap extends LinkedHashM..