: 상속/변경을 금지하는 규제
final 필드
final로 지정된 변수는 값 변경 불가
class Calculator {
static final double PI = 3.14; =>고정값, 변하지 않는 상수 지정
int left, right;
public void setoprands (int left, int right) {
this.left = left;
this.right = right;} //Calculator.PI = 6; =>이미 지정된 값이므로 변경 불가
public void sum() {
System.out.println(this.left +this.right);
}
public void avg() {
System.out.println((this.left+this.right)/2);
}
}
public class CalculatorDemo {
public static void main(String[] args) {
Calculator c1 = new Calculator();
System.out.println(c1.PI); //Calculator.PI = 10;
final 메소드
상속과 관련 (오버라이딩 불가)
final 변수보다 사용빈도 낮음
- 오버라이딩 불가
class A{
final void b(){}
}
class B extends A{
}
final 클래스
- 클래스 상속 불가
final class C{
final void b(){}
} class D extends C{}
'Programming > 자바' 카테고리의 다른 글
생활코딩 자바 - 다형성 (0) | 2022.04.08 |
---|---|
생활코딩 자바 - 인터페이스 (0) | 2022.04.08 |
생활코딩 자바 - abstract (0) | 2022.04.08 |
생활코딩 자바 - 접근제어자 (0) | 2022.04.07 |
생활코딩 자바 - API (0) | 2022.04.07 |