728x90
반응형
추상이 상속을 강제하는 것이라면 final은 상속/변경을 금지하는 규제다
final로 지정된 변수에는 한번 값이 할당되면 그 값을 바꿀 수 없다.
final 메소드는 상속이 안된다. 상속하려하면 오류발생
//Please don't change class name 'Main'
class Calculator {
static final double PI = 3.14;
int left, right;
public void setOprands(int left, int right) {
this.left = left;
this.right = right;
//final로 지정된 변수에는 한번 값이 할당되면 그 값을 바꿀 수 없기 때문에 오류가 발생한다.
//Calculator.PI = 6;
}
public void sum() {
System.out.println(this.left + this.right);
}
public void avg() {
System.out.println((this.left + this.right) / 2);
}
}
class Main {
public static void main(String[] args) {
Calculator c1 = new Calculator();
System.out.println(c1.PI);
//final로 지정된 변수에는 한번 값이 할당되면 그 값을 바꿀 수 없기 때문에 오류가 발생한다.
//Calculator.PI = 10;
}
}
결과
3.14
728x90
반응형