Final 클래스
- 마지막 클래스, 상속이 불가능한 클래스
- String, Math 등
public final class String {
...
}
Final 메서드
- 마지막 메서드, 재정의가 불가능한 메서드
- 부모클래스의 메서드에 final이 붙어있으면 자식클래스에서 재정의가 불가능하다.
public final void test {
...
}
Final 변수
final int number = 10;
number = 30; ====> 불가능!!!!
- 보통 final 필드를 선언해놓고, 생성자를 통해 초기화 시키는 형태를 많이 사용
- 생성자로 초기화가 가능한 이유 : 변경은 못하지만 객체마다 다른 값을 가질 수 있기 때문!!!
class Final {
final int number;
Final() {
number = 100;
}
}
상수
- static final 변수 : 클래스의 필드로 선언
- static으로 선언된 필드는 모든 객체에서 공유 가능
- 보통 대문자로 선언
static final doublc CARD_COMMISSION = 1.5;