이번 시간에는 최종 즉, Final이라는 것에 대해 배워보도록 하자.
우리가 Final이라고 하면 보통 마지막, 최종을 떠올릴 수 있다.
그런데 자바에서 Final이란 것은 어떤 의미를 가졌고, 어떤 역할을 할까?
이제 오늘 시간에는 자바에서 Final이 어떤 일을 하고 어떤 역할이 되는지 알아보는 시간을 갖도록 하자.
일단 자바에서는 절대 변하지 않는 특정한 것을 정하고 싶을 때는 Final을 사용한다.
Final은 변수, 메소드 클래스에 모두 사용할 수 있다.
변수에 사용할 경우 -> 변하지 않는 상수가 되며, 메소드에 사용할 때는 -> 재정의가 불가능한 메소드가 된다.
클래스에 사용할 때는 -> 상속이 불가능한 하나의 완전한 클래스가 된다.
Final이 어떨 때에 쓰이고 어떤 의미를 가졌는지 이해가 되어버렸다!!
이제 Final을 위에서 설명한 변수, 메소드, 클래스에 모두 사용하는 코드를 작성하면서 최종적으로 이해를 해보자.
일단 변수에 사용할 경우 코드를 작성해보도록 하자.
public class 변수 {
public static void main(String args[]) {
final int number = 10; //int number = 10;을 할 경우 number는 변수가 된다.
//하지만 앞에 final을 붙여줌으로써 number는 상수가 된다.
//number = 5; <= 만약에 number 앞에 final이 붙지 않았더라면 number의 값은 5로 변했을 것이다.
// 하지만 final을 붙여줌으로써 number의 건들지 못한다.
System.out.println(number);
}
}
위에 코드를 보면 number의 값에는 10이 저장이 되었다.
그리고 앞에 final이 붙음으로써 number는 10이라는 숫자를 저장한 상수가 되었다.
final이 붙지 않을 경우 number 값은 언제나 유동적으로 변할 수 있지만 final을 붙여줌으로써
number = 10으로 정의가 된 것이다.
[출처] 자바 : Final|작성자 수달박사