///////
Search
📌

Java 8 버전에 추가된 중요 기능들에 대하여서 설명해주세요

Lambda 표현식
익명 함수로, 이름과 식별자가 없는 함수
코드를 간결하게 작성할 수 있다
Default Method
자바 8 이전에는 인터페이스에는 추상 메서드만 사용할 수 있었지만, 인터페이스에서도 default와 static 메소드로 구현체를 만들 수 있게 되었다
함수형 인터페이스 (Funtional Interface)
단 1개의 추상 메소드를 가지고 있는 인터페이스
Stream
컬렉션 함수들을 람다식으로 처리하여 복잡한 구조나 반복적인 데이터 처리를 간단하게 한다
기존에 for 문을 사용하여 처리하던 것을 Stream으로 변환해서 mapping, sorting, filtering 등 을 메서드로 할 수 있게 해준다.
Optional
기존에 null을 체크하기 위해서 if 문을 많이 사용했지만 Opitonal을 사용하면 Null Pointer Exception이 발생하는 것을 방지해 준다
Optional은 null이나 null이 아닌 값을 담을 수 있는 클래스로, DB를 조회해서 null인 경우 orElseThrow 메소드를 사용하여 에러를 던지거나 ifpresent 메소드로 사전에 정의된 액션을 수행한다
날짜 관련 클래스 추가
Date 클래스가 아니라 LocalDate, LocalTime, LocalDateTime 클래스를 사용
Time zone 설정, 날짜 계산 등이 편리하게 이용 가능해졌다
병렬 배열 정렬
Arrays.parallelSort()
배열을 둘로 계속 나누고 합치면서 정렬한다
알고리즘의 효율이 바뀐 것은 아니지만, 여러 스레드를 분산해서 처리하기 때문에 조금 더 기존의 sort()보다 빠르다
String Joiner
여러 문자를 합하고 공백이나 구분자를 반복해서 붙여야하는 경우에 유용하게 사용할 수 있다
⇒ Rahul,Raju,Peter,Raheem