정의
final은 클래스, 메서드, 변수에서 사용할 수 있다.
public final class Hyundai {내용 생략} //fianl 클래스
public class car extends Hyundai {내용 생략} // 상속 불가
public class Parent {
public final void printMessage() {
System.out.println("부모 클래스");
}
}
public class Child extends Parent { // 오버라이딩 불가능
public void printMessage() {
System.out.println("자식 클래스");
}
}
public class Circle {
public final double PI = 3.14;
public final double radius;
public Circle(double radius) {
this.radius = radius;
}
// 변수 값 변경 불가
public void calculate() {
double area = PI * radius * radius;
System.out.println("원의 넓이: " + area);
}
}
주의
blank final 변수는 인스턴스마다 다른 값을 갖는다, 이렇게 초기화가 다르게 된다면 static을 사용하지 않게 된다.
class BlankFinal {
private final String name;
public BlankFinal(String name){
this.name = name;
}
}
참고 : https://makemethink.tistory.com/184
참고 : https://caliou.tistory.com/167