EEALL@ONCE

☕ Java에서 Final 이란? 본문

언어💻/자바☕

☕ Java에서 Final 이란?

올엣원스 2023. 7. 31. 16:16
728x90

Java에서 Final 이란? 

 

🐭 : 

자바에서 `final`은 변수, 메서드, 클래스에 적용되는 키워드로 사용됩니다. `final`을 사용하면 해당 요소가 변경되지 않고 불변(immutable)하게 만들어집니다.

1. `final` 변수:
`final` 키워드를 사용하여 변수를 선언하면, 한 번 초기화한 이후에는 해당 변수의 값이 변경되지 않습니다. 즉, 변수는 상수가 됩니다.

final int age = 30;
// age = 31; // 에러! final 변수는 값을 변경할 수 없음.

 


2. `final` 메서드:
메서드에 `final` 키워드를 사용하면, 해당 메서드는 하위 클래스에서 오버라이드(재정의)할 수 없습니다.

public class Parent {
    public final void printMessage() {
        System.out.println("This method cannot be overridden.");
    }
}

public class Child extends Parent {
    // 오버라이드 시도
    // public void printMessage() { // 에러! final 메서드를 오버라이드할 수 없음.
    //     System.out.println("This won't compile.");
    // }
}

 

3. `final` 클래스:
클래스에 `final` 키워드를 사용하면, 해당 클래스를 상속할 수 없게 됩니다. 즉, 해당 클래스는 다른 클래스의 부모 클래스가 될 수 없습니다.

public final class ImmutableClass {
    // ...
}

// 다음과 같이 final 클래스를 상속하려고 하면 에러가 발생합니다.
// public class SubClass extends ImmutableClass { // 에러! final 클래스를 상속할 수 없음.
//     // ...
// }



`final` 키워드를 사용하여 변수, 메서드, 클래스를 선언하면 해당 요소가 변경되지 않는 것이 보장됩니다. 이를 통해 불변성을 유지하고 코드의 안정성을 높이는 데 도움이 됩니다. 또한, `final` 키워드는 컴파일러에게 최적화할 기회를 제공하여 성능 향상에도 도움이 될 수 있습니다.


즉 한번 타입에 값을 끼우면 못 바꾸는 것! 

728x90

'언어💻 > 자바☕' 카테고리의 다른 글

☕자바 자료형 - 정수 자료형  (0) 2023.07.31
☕ 예약어(reserved words)  (0) 2023.07.31
☕ 클래스/상수/변수/매서드/패키지 명명 규칙  (0) 2023.07.31
☕ 정적 자료형  (0) 2023.07.31
☕리터럴(Literal)  (0) 2023.07.31