#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

+ Recent posts