본문 바로가기

Programming/자바

생활코딩 자바 - final

: 상속/변경을 금지하는 규제

 

 

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{
void b(){}
}

 

 

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