Programming/For interview

[Java] Java 버전에 따른 핵심 변경 사항 (Java8)

LazyCat 2024. 12. 18. 19:33
반응형

Java는 크게 Java8, Java11, Java17 에서 핵심 기능이 변경되었다.

먼저 Java8의 핵심 변경 사항부터 알아보자.

🤍 Lambda Expression (람다식)

람다식은 익명함수를 정의하는 간결한 방법이다. 즉, 이름이 없는 함수를 표현하기 위한 문법이다.

  • 기본 문법
    •  (매개변수) -> {실행코드}
  • 사용
    • 람다식은 함수형 인터페이스을 통해 사용됨
  • 함수형 인터페이스
    • 메소드가 하나만 존재하는 인터페이스
    • @FuctionalInterface 애노테이션
      • 함수형 인터페이스임을 명시적으로 표현

🤍Stream AP

  • 스트림(Stream)
    • 스트림은 데이터의 흐름이다.
    • 스트림은 한 번만 소비할 수 있다.
  • 스트림의 특징
    • 선언적 프로그래밍: '무엇을 할 것인가'에 집중하며, '어떻게 구현할 것인가'는 신경쓰지 않음.
    • 원본 데이터를 변경하지 않고 새로운 결과를 만든다.
    • 중간연산최종연산으로 구성
  • 스트림 API의 구조
    • 중간연산은 스트림을 변환하지만 결과를 즉시 반환하지 않음
    • 최종연산은 스트림을 소비하고 결과를 반환하거나 작업을 수행함
      List<Integer> numbers = Arrays.asList(3, 1, 2);
      numbers.stream()
             .sorted()
             .forEach(System.out::println); // Output: 1, 2, 3
      중간연산: sorted()
      최종연산: forEach()

반응형