Java 15에서 미리보기 기능으로 도입되고 Java 17에서 영구적으로 제공되는 봉인된 클래스를 사용하면 개발자가 확장하거나 구현할 수 있는 클래스를 제어할 수 있습니다. 이 기능은 작지만 강력한 기능으로 Java 언어를 향상시켜 개발자 생산성을 향상시키는 것을 목표로 하는 Project Amber의 일부입니다.
봉인 클래스는 자신을 확장하거나 구현할 수 있는 다른 클래스나 인터페이스를 제한하는 새로운 종류의 클래스입니다. 이는 보다 강력하고 유지 관리 가능한 유형 계층 구조를 제공하기 위해 수행됩니다. 봉인 클래스를 정의할 때 허용되는 하위 클래스 세트를 지정합니다.
봉인된 클래스를 정의하려면 봉인된 키워드를 사용하고 allowed 절로 허용되는 하위 클래스를 지정합니다. 예는 다음과 같습니다.
public sealed class Shape permits Circle, Rectangle, Square { // class body } public final class Circle extends Shape { // class body } public final class Rectangle extends Shape { // class body } public final class Square extends Shape { // class body }
이 예에서 Shape는 봉인된 클래스이며 Circle, Rectangle 및 Square만 확장할 수 있습니다. 각 하위 클래스는 최종, 봉인 또는 비봉인이어야 합니다.
봉인된 클래스는 하위 클래스 집합이 알려져 있고 고정되어 있는 계층 구조를 모델링하는 데 사용할 수 있습니다. 이는 도메인 모델링 및 대수 데이터 유형으로 작업할 때 특히 유용합니다.
다음은 패턴 일치와 함께 봉인 클래스를 사용하는 예입니다.
public class SealedClassExample { public static void main(String[] args) { Shape shape = new Circle(5); String result = switch (shape) { case Circle c -> "Circle with radius " + c.radius(); case Rectangle r -> "Rectangle with width " + r.width() + " and height " + r.height(); case Square s -> "Square with side " + s.side(); }; System.out.println(result); } }
이 예에서는 스위치 표현식을 사용하여 다양한 유형의 Shape를 처리합니다. Shape가 봉인되어 있기 때문에 컴파일러는 가능한 모든 경우가 포함되도록 보장할 수 있습니다.
봉인된 클래스는 Java에 추가된 강력한 기능으로, 클래스 계층 구조에 대한 더 나은 제어 기능을 제공하고 코드 가독성과 유지 관리성을 향상시킵니다. 봉인 클래스를 사용하면 Java 애플리케이션에서 더욱 강력하고 잘 정의된 유형 시스템을 만들 수 있습니다.
위 내용은 Java로 봉인된 클래스 마스터하기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!