java(자바)
[java(자바)] final 키워드 _디버깅의 눈물
디버깅의 눈물
2023. 2. 24. 22:51
Java에서 final은 다음과 같은 의미로 사용됩니다.
1.변수
: final 변수는 값을 변경할 수 없는 변수입니다. 즉, 상수(constant)로 사용됩니다. final 변수는 한 번 초기화하면 그 이후로 값을 변경할 수 없으므로, 선언과 동시에 값을 할당하거나 생성자에서 값을 할당해야 합니다. final 변수의 이름은 모두 대문자로 작성하는 것이 관례입니다.
예시:
final int MAX_VALUE = 100; // MAX_VALUE는 100으로 고정된 상수입니다.
2.메소드
: final 메소드는 하위 클래스에서 오버라이드(override)할 수 없습니다. 즉, 메소드의 구현을 변경할 수 없으므로, 하위 클래스에서는 final 메소드를 호출할 수만 있습니다. final 메소드는 보안성이나 성능 향상을 위해 사용될 수 있습니다.
예시:
class Parent {
public final void print() {
System.out.println("Parent");
}
}
class Child extends Parent {
// 아래와 같이 오버라이드하면 컴파일 에러가 발생합니다.
// public void print() {
// System.out.println("Child");
// }
}
3.클래스
: final 클래스는 하위 클래스를 가질 수 없습니다. 즉, 다른 클래스에서 final 클래스를 상속할 수 없습니다. final 클래스는 보안성, 성능 향상, 하위 클래스의 오버라이드 방지 등의 이유로 사용될 수 있습니다.
예시:
final class FinalClass {
// final 클래스이므로 하위 클래스를 가질 수 없습니다.
}
// 아래와 같이 FinalClass를 상속하려고 하면 컴파일 에러가 발생합니다.
// class Child extends FinalClass {
// }
final 키워드는 일반적으로 변하지 않는 값, 변경되면 안 되는 메소드 또는 클래스를 선언하는 경우에 사용됩니다.