Study/JAVA

JAVA 에서의 final 선언

차희빈 2014. 9. 29. 15:39

final 키워드는 주로 class 나 method 의 재정의(overriding)를 막기 위하여 사용되며, 맴버변수나 로컬변수 등에서 변수 초기화 이후 바꿀수 없는 변수를 만드는 용도로도 사용을 합니다.

참고 : 
위키피디아(영문) final (java) :
 http://en.wikipedia.org/wiki/Final_(Java)
위키피디아(한글) 자바와 C++의 비교 :http://ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94%EC%99%80_C%2B%2B%EC%9D%98_%EB%B9%84%EA%B5%90

C++ 의 const 와 비슷하기는 합니다만, C++ 에서의 const 는 개념적으로 '읽기 전용' 을 명시하며, java 의 final 은 변수가 다시 할당될 수 없음을 명시 합니다. (자바와 C++의 비교 - 언어의 특징의 문법 부분 참고)

1. class 의 final 사용.
class 가 상속되지 않도록 하기 위하여 선언합니다.

예)
final class SampleClass {
}

2. method 의 final 선언
상속 관계에 있는 상위 class 와 하위 class 에서 상위 class 에 있는 method 가 재정의(overriding) 되지 않도록 하기 위하여 정의 합니다.

예)
calss SampleClass {
    public final sampleMethod() {
    }
}

3. variable(변수) 의 final 선언
초기 값이 변경되면 안되거나 변경할 경우 예외가 발생할수 있는 경우 사용하며, 문서화의 한 형태로 가독성을 높이고 수정이 용이 하다는 이점이 있습니다.

final int sampleVariable = 1;
final String sampleVariable = "aaa";


출처: http://laydios.egloos.com/viewer/2798626