충분히 쌓여가는
7.11 봉인된 클래스 - sealed, permits 본문
Java 15부터 무분별한 자식 클래스 생성을 방지하기 위해 sealed 클래스가 도입되었다
Person의 자식 클래스는 Empolyee와 manager만 가능하고, 그 이외의 자식 클래스가 될 수 없도록 Person을 봉인된 클래스로 선언할 수 있다
sealed 키워드를 사용하면 permits 키워드 뒤에 상속 가능한 자식 클래스를 지정해야 한다
public sealed class Person permits Employee, Manager { ... }
Person 클래스를 상속하는 Employee와 Manager는 final 또는 non-sealed 키워드로 선언하거나
sealed 키워드를 사용해서 또 다른 봉인 클래스로 선언해야 한다
public final class Employee extends Person { ... }
public non-sealed class Manager extends Person { ... }
final
더 이상 상속할 수 없다는 뜻
non-sealed
봉인을 해제한다는 뜻
따라서 Employee는 더 이상 자식 클래스를 만들 수 없지만
Manager는 자식 클래스를 만들 수 있다
'이것이 자바다 > 07 상속' 카테고리의 다른 글
7.10 추상 클래스 - 추상 메소드와 재정의 (0) | 2024.04.02 |
---|---|
7.10 추상 클래스 (0) | 2024.04.02 |
7.9 객체 타입 확인 - instanceof (0) | 2024.04.02 |
7.8 다형성 - 매개변수 다형성 (0) | 2024.04.02 |
7.8 다형성 (0) | 2024.04.02 |