IT/Java

자바 static, final (멤버변수, 메소드, 클래스)

노마드오브 2018. 7. 20. 23:46

문법순서 : 접근지정자 static final

멤버변수 : 수정못하게 막아줌 //변수의 상수화. 상수 정의

메소드 : 메소드 오버라이딩 못하게 막아줌

클래스 : 상속 못하게 막아줌



package test;




/*final*/ class FinalTest { // 상속 못하게 막아줌. /*final*/주석 풀어서 테스트 해보기

public final int a = 10; // 인스턴스단위 상수

public static final int B = 20; // [클래스 단위 상수]


/*final*/ void prn() { //  메소드 오버라이딩 못하게 막아줌.  /*final*/주석 풀어서 테스트 해보기

System.out.println("FinalTest prn()");

}

}


class SubFinalTest extends FinalTest { // 상속

// 메소드 오버라이딩

@Override

void prn() {

System.out.println("SubFinalTest prn()");

}

}




public class Test3 {


public static void main(String[] args) {

SubFinalTest sft = new SubFinalTest();

// sft.a = 20; // 상수이므로 수정 못한다

System.out.println(sft.a);

sft.prn();


}


}