-> 블로그 이전

[Java] final 키워드

2021. 11. 19. 16:33Language`/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
    }
}