honggyu92 / exam

study
0 stars 0 forks source link

Java 8 #3

Open honggyu92 opened 7 years ago

honggyu92 commented 7 years ago

Java 8의 기능

honggyu92 commented 7 years ago

람다식

honggyu92 commented 7 years ago

새 날짜 API

  1. JDK의 기존 날짜, 시간 클래스의 문제점

    • 불변 객체가 아니다
    • int 상수 필드의 남용
      calendar.add(Calendar.SECOND.2); // 컴파일 에러 없음
    • 헷갈리는 월 지정
      calendar.set(1582,Calendar.OCTOBER,4); // 실제로는 9
    • 시대에 뒤떨어지는 API : java.util.Date API Doc
  2. 새 날짜 API

    • 완전히 새롭게 개발
    • java.util.localDate
    • java.util.localTime
    • java.util.localDateTime
    • java.util.ZoneDateTime
    • Joda-Time과 유사한 모습이지만, 더 개선된 모습
    • 요일 클래스는 Enum 상수로 제공
    • 잘못된 월 지정에는 객체 생성 시점에서 DateTimeException을 던진다
    • 나노초 단위의 정밀성
honggyu92 commented 7 years ago

인터페이스 업데이트

  1. JAVA 8 이전

    public interface TestInterface {
    public void action {}{
      System.out.println("Test");
    }
    }
    • Abstract methods do not specify a body!!
  2. Default method 지원

    • 인터페이스의 Abstract Method들에 대한 기본 기능을 지정
      public interface Student {
      default void readBook() {
      System.out.println("reading book");
      }
      }

      public class GoSam implements Student {
      public static void main(String arg[]) {
      GoSam gosam = new GoSam();
      gosam.readBook();
      }
      }