enum의 필드를 Map타입 List로 변환하는 방법을 소개합니다. 제네릭 메서드와 함수형 인터페이스를 이용합니다. package io.hurem.model; public interface EnumModel { String getKey(); String getValue(); } enum에서 구현할 인터페이스. getKey()는 enum 필드의 이름을, getValue()는 단일 프로퍼티를 가져온다. package io.hurem.domain.employees; import io.hurem.model.EnumModel; import java.util.Collections; import java.util.Map; import java.util.Optional; import java.util.function...
이 문서는 Java 8 기준으로 작성되었습니다. 추상클래스와 인터페이스는 비슷하다. 객체를 만들 수 없다는 점과 둘 다 메서드를 선언만 할지 아니면 구현도 할지 선택할 수 있다는 점이 같다. 하지만 추상 클래스와 달리 인터페이스는 모든 필드가 키워드를 안 붙여도 자동으로 public static final 이 되며 모든 메서드가 public 으로 선언되거나 정의되어야 한다. 그렇다면 추상 클래스와 인터페이스는 어떤 상황에 사용할까? 이럴 때 추상클래스를 사용한다. 관련성이 높은 클래스들간에 코드 공유를 하고 싶을 때 상속할 공통 메서드와 필드가 많거나 접근 제어자로 public 이외의(protected 또는 private 같은) 것을 사용하고 싶을 때 static 이나 final 이 아닌 필드를 선언하고..