foxpacking

Programming Lessons

Java 언어 Korean

Java 총 정리[72. final]

final

이전 걸음에서는 알아두면 좋은 명령어인 equals에 대해서 공부를 했습니다. 이번에 이어지는 걸음에서 간단하게 모두가 알고 있지만 좀 더 자세하게 알지 못하는 명령어에 대해서 이번 걸음에서 함께 공부를 해보도록 하겠습니다.

이번 걸음에서는 final이라는 명령어를 공부를 해보도록 하겠습니다. 많이 사용이 안되는 부분이 있어서 간단하게 알고는 있지만 좀 더 자세한 부분을 모르는 경우가 있어서 이번 걸음에서 final에 대해서 좀 더 자세하게 알려드리겠습니다. 이번 걸음을 끝까지 보신다면 final에 대해 좀 더 깊이가 생기실 수 있습니다.

final이란 무엇인지 그리고 예제 소스를 하면서 final이 붙으면 동작이 어떻게 하는지 이번 걸음에서 알아보도록 하겠습니다. 내용이 많이 어려운 부분은 아니지만 이번 걸음에서 확실히 알아 두시면 final에 대해 확실하게 사용하고 이해를 하실 수 있습니다.

final 이란?

final메인사진

final은 마지막이라는 뜻을 가지고 있습니다. 그렇기 때문에 Java 소스에 붙게 된다면 마지막이라는 의미를 기억을 하고 보시면 암기를 하지 않아도 잘 활용해서 사용을 하실 수 있습니다. 우선 final이 붙을 수 있는 곳은 변수 자료형 앞, method 앞, class 앞에서 사용을 하 실 수 있습니다. 

마지막으로 final은 제약을 하기 위한 것이기 때문에 사용하는 것이 제약이 된다고 생각을 하시면 됩니다. 그럼 제약을 왜 하지? 궁금하실 수 있습니다. 제약이 되면 자원 소모가 줄어 듭니다. 그렇기 때문에 자원 소모를 줄이고 싶으면 final을 생각하면 좋을 것 같습니다.

final 예제

    
package Test;

final class D{ //클래스 final

}

class E extends D{ // 에러

}

class F{
    final void abc(){ // 메소드 final
        System.out.println("abc");
    }
}

class G extends F{
    void abc(){ // 에러

    }
}


public class Test2 {
    public static void main(String[] args) {
        final  int a = 10; // 변수 final
        a = 20; // 에러

    }
}

    
final예제사진

위 예제 소스와 사진을 보면 알 수 있으시겠지만 간단히 정리를 해보겠습니다.

  1. 변수 final은 마지막 변수 값이기 때문에 값 변경이 안됩니다.
  2. method final 같은 경우는 상속을 받으면 부모 method를 overriding을  할 수 있는데 마지막 method이기 때문에 overriding을 할 수 없습니다.
  3. class final 같은 경우는 상속을 자유롭게 할 수 있는데 마지막 class이기 때문에 상속이 불가 합니다.

Dolphin

About Author

Leave a comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

You may also like

Korean Programming 기초

IT 개발자 VS 프로축구선수 비교?

IT 개발자와 프로축구선수의 같은 점과 다른 점? 프로그래밍 공부를 하시면서 개발자로 취업을 하려고 하는데 과연 취업을 할 수 있을까? IT
Korean 클라우드

AWS 로그인 불가능, AWS고객 센터 이메일 문의 결과는?

AWS 고객센터 이메일 문의 솔직후기 AWS를 사용하기 위해 로그인을 하는 경우 이메일로 코드 번호를 보내지만 이메일로 받을 수 없는 상황이거나