자바 8에 추가된 기능은 스프링 같은 제 3의 라이브러리 및 프레임워크에서도 널리 사용되고 있습니다.
지금도 작성하는 코드를 보면 자바 8부터 많은 것들이 변화하여 코드를 더 간결하고 깔끔하게 가독성을 높인 클린코드로 만들어줍니다.
이러한 첫 걸음이 될 수 있도록 도와주는 강의입니다.
- 함수형 인터페이스와 람다, 그리고 메소드 레퍼런스에 대해 학습
- 인터페이스의 기본 메소드와 스태틱 메소드에 대해 학습
- Stream과 Optional에 대해 학습
- 자바 프로그래밍 기초 학습을 마친 개발자 또는 학생
- 자바 8의 주요 기능을 학습하고 싶은 개발자 또는 학생
22.07.25~22.09.18 학습완료
- 함수형 프로그래밍
- 함수형 인터페이스
- 람다 표현식
- 메소드 레퍼런스
- 비동기 프로그래밍
- CompletableFuture
- 편의성 개선
- Optional
- Data & Time
- 인터페이스
- ...
// 초기
for (int i = 0; i < classes.size(); i++) {
OnlineClass oc = classes.get(i);
if (oc.isClosed())
System.out.println(oc.getTitle());
}
// 자바를 어느정도 학습 후
for (OnlineClass oc : classes) {
if (oc.isClosed())
System.out.println(oc.getTitle());
}
// 자바8 기능 배운 후
classes.stream()
.filter(OnlineClass::isClosed)
.forEach(oc -> System.out.println(oc.getTitle()));
프레임워크를 먼저 공부하다보니 언어에 대한 학습이 부족하다고 많이 느꼈습니다.
이 강의로 인해 스트림을 활용한 반복문부터해서 JPA를 사용할 때 엔티티를 가져오면 Optional로 가져왔었는데 무작정 Optional.get()
으로 꺼내거나 Optional.isEmpty()
로 비었는지 if문으로 조건을 걸기도 했었습니다.
또한 자바의 날짜&시간 표현도 무작정 Date로만 어떻게든 해결했었는데 새롭게 추가된 LocalDate 등의 표현 방법도 알았습니다.
이제는 Optional.orElseThrow
라든지 다른 방법으로 null 처리를 간결하게 사용할 수 있게 되었고, 위 코드처럼 스트림도 배울 수 있는 뜻깊은 시간이었습니다.