final 키워드는 entity를 딱 한번만 할당하는 것이다. 따라서 다시 할당하는 경우 error가 발생한다. final은 class, 메소드, 변수에 붙일 수 있고, 각 기능이 다르다.
public final class Fruit{ ... } public class Apple extends Fruit { ... } // error 발생
public final class Parent{ protected final int getGrade() {...} } class Child extends Parent { protected int getGrade() {...} // error 발생 }
public final class Parent{ final int childNum = 4; //반드시 초기값 설정 void getBaby(){ childNum++; //error 발생 } }