[Java] final 키워드

정리


final 변수

  • 더 이상의 값의 변화가 없어야 하는 변수가 있을 때 final을 붙여 final변수로 만듦

final 위치

  • 변수
    • final은 최종이 되어야 하기 때문에 생성시에 초기화 해야함
    • 생성한 이후에 다른 값으로 변경 허용하지 않음
public class test {
    public static void main(String[] args){
        // final int a;  //에러 발생
        final int a = 1;
        int temp = 2;
        a = temp;  //에러 발생
    }
}
  • 클래스
    • 상속 불가
final public class Aclass {

}

public class Bclass extends Aclass { //에러 발생

}
  • 메서드
    • override 불가
public class Aclass {
    public void printhelloworld() {
        System.out.println("Hello worldA");
    }

    final public void Amethod() {
    }
}

public class Bclass extends Aclass {

    @Override
    public void printhelloworld() {
        System.out.println("Hello worldB");
    }

    @Override
    public void Amethod() { //에러 발생
    }
}

참고