#final
- final class : 상속 받을 수 없음 (그 안에 있는 모든 method 는 건드리지 못함,
- 따라서 메소드 안에 전부다 final 변수를 붙인것과 같은 효과를 낸다.)
- final method : Override 할 수 없음 (final 붙어 있는 메소드는 오버라이딩을 하지 못한다.)
- final varialbe : 상수로 정의, 값을 수정할 수 없다. 항상 같은 값을 가짐
package com.basic;
//final class 는 상속을 받을 수 없다.
final class MyFinal{
public void test () {
System.out.println("MyFinal-test");
}
}
class YourFinal{
//2.fianl method: overriding 이 안됨
public final void test() {
System.out.println("YourFinal-test()");
}
}
public class FinalTest extends YourFinal {
/*public final void test() { //overriding 안된다. final method 이기 때문에 재정의를 할 수 없다.
System.out.println("YourFinal-test()");
}*/
//final variable:값을 수정할 수 없음
final int max = 999;
public static void main(String[] args) {
FinalTest f = new FinalTest();
f.max=988; //값을 수정이 불가능하다.
}
}
'JAVA > JAVA 기본 문법' 카테고리의 다른 글
[JAVA]-abstract (0) | 2019.01.20 |
---|---|
[JAVA]- static (0) | 2019.01.19 |
[JAVA]-Java Reference Type Casting (0) | 2019.01.19 |
[JAVA]-Java 상속 (0) | 2019.01.19 |
[JAVA]-Java Encapsulation (0) | 2019.01.19 |