Java - Final

  • Final은 Class와 Method 그리고 필드에 사용할 수 있다.

1. Final Class

  • Class에 사용할 경우 해당 클래스에 대하여 더이상 상속을 받을 수 없다.



2. Final Method

  • Method에 사용할 경우 더이상 오버라이딩으로 확장을 할 수 없다.



3. Final Value

  • 필드에 사용할 경우 값을 수정할 수 없다.
  • 또한 바꿀 수 없는 변수이므로, Thread-Safe 하다.



4. Final을 사용하는 이유

  • Final은 더이상 변경을 하지 않는 경우에 사용하는데, 개발자들의 의도치 않은 코드 변경을 막을 수 있으며
  • 해당 코드는 더이상 수정을 하지 않는다, 혹은 바뀌지 않는 값이 들어온다를 명시적으로 알려줄 수 있어서 가독성에도 좋다.



5. 주의 할 점

public class Test {
	static class A {
		int testInt = 10;
	}
	public static void main(String[] args) {
		final A a = new A();
		a.testInt = 20; // 이렇게 안의 변수는 final이 아니므로 변경할 수 있다.
	}
}
public class Test {
	static class A {
		final int testInt = 10;
	}
	public static void main(String[] args) {
		final A a = new A();
		a.testInt = 20; // A 클래스 안에서 testInt가 final 이므로 error가 발생한다.
	}
}








results matching ""

    No results matching ""