[Java] final 키워드
2021. 11. 19. 16:33ㆍLanguage`/Java
final 클래스
- 클래스를 상속받을 수 없음을 지정
final class FinalClass{
.....
}
class SubClass extends FinalClass{ // 오류 : final class 인 FinalClass는 상속 X
.....
}
final 메소드
- 오버라이딩 할 수 없는 메소드
public class SuperClass{
protected final int finalMethod(){....} // finalMethod()는 자식이 오버라이딩 불가
}
class SubClass extends SuperClass{ // SubClass가 SuperClass 상속
protected int finalMethod(){....} // 오류 : finalMethod()는 오버라이딩 X
}
final 필드
- 필드 = 상수
public class FinalFieldClass{
final int ROWS = 10;
void f(){
int [] intArray = new int [ROWS]; // 크기에 상수 허용
ROWS = 30; // 오류 : final 필드 값은 변경 X
}
}