Java 언어에서의 Object-Relational Mapping (ORM) 기술 표준으로 사용되는 인터페이스의 모음으로 구현된 클래스와 매핑을 해주기 위해 사용되는 프레임워크
Lombok : Annotation 기반으로 코드를 자동완성해주는 library
Java version 1.5부터 도입된 서로 연관된 상수들의 집합인 열거형 클래스
interface를 이용하여 개발 코드를 직접 수정하지 않고도 사용하고 있는 객체만 변경할 수 있도록 할 수 있다. 즉 **자바의 다형성을 극대화**하여 개발코드 수정을 줄이고 프로그램 유지보수성을 높이기 위해 인터페이스를 사용한다.