java.util.Date는 자바의 초기 날짜 및 시간을 표현하는 API로 JDK1.0 버전에서부터 사용되었습니다.그렇기 때문에 사실 jdk8.0이전 까지 주로 사용되었으나 현재는 많이 사용되지 않는다고 합니다. 그 이유는 아래 소개될 API 때문이라고 볼 수 있습니다.
java.sql.Date는 util.Date를 상속받고 있습니다.보시는 바와 같이 SQL을 통한 날짜 데이터 즉, JDBC을 통한 통신 데이터를 받기위해 주로 사용됩니다. 이때 시간 정보는 없어 '년/월/일'의 형태만 존재하고 시간은 항상 '00:00:00'으로 표현됩니다.
java.time.LocalDate는 jdk 8.0 이후에 업데이트 된 API로 최근 주로 사용되는 추세입니다.형식은 날짜 데이터만 받는 java.time.LocalDate 시간 데이터만 받는 java.time.LocalTime 마지막으로 두 형태 모두 받을 수 있는 java.time.LocalDateTime이 있습니다.