Notice
Recent Posts
Recent Comments
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

충분히 쌓여가는

7.11 봉인된 클래스 - sealed, permits 본문

이것이 자바다/07 상속

7.11 봉인된 클래스 - sealed, permits

빌드이너프 2024. 4. 2. 20:08

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