final 키워드
: 해당 선언이 최종 상태이며 수정될 수 없음을 의미
클래스 및 메서드 선언 시 final 키워드를 사용하면 상속과 관련됨
- 상속할 수 없는 final 클래스 → 부모 클래스가 될 수 없어 자식 클래스를 만들 수 없음을 의미
final class Final01 {
}
class FinalInher extends Final01 { // 오류 : class 앞에 final을 붙이면 상속 불가
}
- 재정의 할 수 없는 final 메서드 → 부모 클래스에 선언된 final 메서드는 자식 클래스에서 재정의 할 수 없음
class Final02 {
int num = 10;
final int NUM2 = 34; // 상수 ( 변수 앞에 final 붙임, 값이 한 번 저장되면 변경이 불가)
// ( 변수로 착각할 수 있어 대체적으로 전부 대문자로 쓴다 )
final int play() { // 메서드 앞에 final 을 붙이면 오버라이딩 불가
// NUM2 = 40; // 오류 : 다른 값으로 변경 불가
return NUM2;
}
}
class Final02Infer extends Final02 {
int play() { // 메서드 재정의 불가
return 3;
}
}
'Java' 카테고리의 다른 글
Java문법) 예외처리 -2 (NullPointerException, ArrayIndexOutOfBoundsException, NumberFormatException) (0) | 2023.11.01 |
---|---|
Java문법) 예외처리 -1 (0) | 2023.10.31 |
Java 문법) 가변인자 (0) | 2023.10.27 |
Java문법) 메서드 오버로딩 (0) | 2023.10.26 |
Java문법) 생성자 (0) | 2023.10.25 |