final
제약
변수, 메소드, 클래스에서 사용 가능
public class MainClass {
public static void main(String[] args) {
/*
final : 제약
변수, 클래스, 메소드에 전부 적용할 수 있음.
*/
// 변수의 자료형 앞에 final을 붙여 사용하면 변수가 상수가 됨.
int num = 10;
num = 20; // 변수는 값 변경이 됨.
final int number = 10; // 변수가 아닌 상수(변하지 않는 값)가 됨.
// number = 20; <- 상수는 변경될 수 없기 때문에 불가능함.
int[] array = new int[number];
int n = number;
final int MAX = 100; // 보통 final 변수값은 대문자로 적는다.
final int MIN = 1;
int count = 25;
if(count <= MAX && count >= MIN){
}
String str = ""; // String은 final이 붙여진 최종값임.
}
}
// 클래스 앞에 final을 붙여 사용하면 상속 금지
/*final*/ class Parent{
//메소드의 리턴값 앞에 final을 붙여 사용하면 over ride 금지!
public final void method(){
}
}
class Child extends Parent{
public void method(){ // 자식클래스에 추가 작성(over ride)
}
}