울음참고 개발공부
Published 2023. 7. 5. 09:36
Java 에서 final 의 기능 1. basic
728x90

 

 

Java  에서 final 키워드는 여러 가지 의미와 기능을 가지고 있다

 

 

final 키워드는 코드의 안정성과 확장성을 개선하는 데에 도움을 주는 중요한 기능 중 하나 입니다

 

변수에 적용될 경우 :

 

  • 'final' 변수는 상수(Constant)로 선언되며, 한 번 초기화 된 이후에는 변경할 수 없음
  • 값을 한번만 할당할 수 있으므로, 다른 코드에서 의도치 않은 변경을 방지하고 변수의 불변성(Immutability)을 보장
  • 주로 상수 값을 저장하는 변수에 사용됨

 

public class Example {
    public static void main(String[] args) {
        final int MAX_VALUE = 100;
        // MAX_VALUE 변수는 상수로 선언되었기 때문에 값을 변경할 수 없음
        // MAX_VALUE = 200; // 에러: 값 변경이 불가능한 상수
        System.out.println(MAX_VALUE); // 출력: 100
    }
}

 

 

 

메서드에 적용될 경우 :

 

  • final 메서드는 하위 클래스에서 오버라이드(Override)할 수 없음
  • 메서드를 오버라이드할 수 없기 때문에, 부모 클래스에서 정의된 동작을 보장하고 변경을 방지함
  • 성능 최적화나 보안 등의 이유로 메서드를 불변하게 만ㄷ르고 싶을 때 사용

 

public class Parent {
    public final void display() {
        System.out.println("부모 클래스의 display 메서드");
    }
}

public class Child extends Parent {
    // display 메서드를 오버라이드할 수 없음
    // public void display() { } // 에러: final 메서드 오버라이드 불가능
}

 

 

 

 

 

클래스에 적용된 경우 :

 

  • final 클래스는 상속될 수 없음
  • 클래스를 확장하지 못하게 하여 클래스의 구현을 변경하지 못하도록 막는역할
  • 주로 보안, 안정성, 특정 동작 보장 등의 목적으로 사용됨

 

public final class FinalClass {
    // 클래스는 확장될 수 없음
}

public class SubClass extends FinalClass {
    // FinalClass를 상속할 수 없음
    // 컴파일 에러 발생
}

 

728x90
profile

울음참고 개발공부

@메각이

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!