SeouliteLab

JDK 19의 새로운 기능과 예제 본문

프로그래밍

JDK 19의 새로운 기능과 예제

Seoulite Lab 2024. 4. 5. 15:31

JDK 19는 Java 개발자들을 위한 새로운 기능을 제공하여 프로그래밍 경험을 향상시킵니다. 이번 글에서는 JDK 19의 주요 기능과 각 기능에 대한 예제를 살펴보겠습니다.

1. 람다 파라미터 추론 개선
JDK 19에서는 람다 파라미터 추론이 개선되어 좀 더 유연하고 명확한 코드를 작성할 수 있게 되었습니다. 이제 var 키워드를 사용하여 람다식의 파라미터를 추론할 수 있습니다.

import java.util.function.BiFunction;

public class LambdaParameterInferenceExample {
    public static void main(String[] args) {
        BiFunction<Integer, Integer, Integer> adder = (var a, var b) -> a + b;

        System.out.println("합계: " + adder.apply(5, 3));
    }
}

람다 파라미터 추론의 개선으로 인해 코드가 간결해지고 가독성이 향상됩니다.

2. 피터 매서(Feature Methods)
JDK 19에서는 피터 매서를 사용하여 인터페이스의 기본 메서드를 더 유연하게 정의할 수 있습니다. 이를 통해 인터페이스를 수정하지 않고도 새로운 메서드를 추가할 수 있습니다.

public interface MathOperation {
    default int add(int a, int b) {
        return a + b;
    }

    default int subtract(int a, int b) {
        return a - b;
    }
}

public class FeatureMethodsExample {
    public static void main(String[] args) {
        MathOperation operation = new MathOperation() {};
        System.out.println("덧셈: " + operation.add(5, 3));
        System.out.println("뺄셈: " + operation.subtract(5, 3));
    }
}

피터 매서를 사용하면 기존의 인터페이스를 변경하지 않고도 새로운 기능을 추가할 수 있습니다.

3. 패턴 매칭 API 업데이트
JDK 19에서는 패턴 매칭 API가 업데이트되어 더욱 강력해졌습니다. 이를 통해 switch 표현식을 통한 패턴 매칭이 더욱 편리해졌습니다.

public class PatternMatchingExample {
    public static void main(String[] args) {
        Object obj = "Hello";

        if (obj instanceof String s) {
            System.out.println("문자열 길이: " + s.length());
        } else {
            System.out.println("문자열이 아닙니다.");
        }
    }
}

패턴 매칭 API의 업데이트로 인해 코드의 가독성과 유지보수성이 향상되었습니다.