[Java] 봉인된 인터페이스

Bam·2024년 3월 5일
0

Java

목록 보기
43/98
post-thumbnail

봉인된 인터페이스

클래스와 마찬가지로 인터페이스에서도 Java 15에서 추가된 sealed 키워드를 통해 봉인된 인터페이스 문법을 사용할 수 있습니다.

봉인된 인터페이스 역시 무분별한 자식 인터페이스의 생성을 방지하고자 도입된 문법입니다.

sealed interface 인터페이스명 permits 자식으로_둘_인터페이스, ... {}
public sealed interface A permits B {}

위와 같이 선언하면 A 인터페이스는 오직 B 인터페이스만이 상속받을 수 있고 그 외의 인터페이스에서는 오류가 발생합니다.

permits를 통해 허가받고 상속받은 인터페이스는 sealednon-sealed 둘 중 하나를 선택해서 봉인을 계속 하거나 봉인을 해제해야합니다. 클래스와 달리 인터페이스에선 final은 사용할 수 없습니다.

public non-sealed interface B extends A {}

0개의 댓글