final 변수 : 상수화
: final 키워드를 변수에 사용하면, 해당 변수는 상수화되어 값을 변경할 수 없다.
public class MainClass {
public static void main(String[] args) {
final int number = 10; // 변수 -> 상수(final 붙이면)
// number = 20; // 불가능(상수라서)
}
}
: final 변수를 초기화한 뒤에는 값을 변경할 수 없다.
: 상수로 사용되는 경우, 변수 이름을 대문자로 작성하는 것 낫다.
ex) final int MAX = 100;
추가 예제
public class MainClass {
public static void main(String[] args) {
final int MAX = 100;
final int MIN = 1;
int count = MAX;
if (count <= MAX && count >= MIN) {
// MAX와 MIN은 고정된 값으로 사용 가능
}
}
}
MAX = 프로그램에서 변하지 않는 최대값 상수
MIN = 프로그램에서 변하지 않는 최소값 상수
final 메서드 : 오버라이드 금지
: final 키워드를 메서드에 사용하면, 해당 메서드는 오버라이드(Override) 할 수 없다.
: 특정 메서드의 동작을 자식 클래스에서 변경하지 못하도록 보호할 때 유용하다.
class Parent {
public final void method() {
System.out.println("Parent method");
}
}
class Child extends Parent {
public void method() {} // 컴파일 에러: 오버라이드 불가
}
: 부모 클래스에서 final 메서드로 선언하면, 자식 클래스에서 수정할 수 없다.
: 보통 클래스 설계 시 중요한 동작을 고정하기 위해 사용된다.
final 클래스 : 상속 금지
: final 키워드를 클래스에 사용하면, 해당 클래스는 상속할 수 없다.
: 해당 클래스를 변경 없이 사용하도록 강제할 때 유용하다.
final class Parent {
public void method() {
System.out.println("Parent method");
}
}
class Child extends Parent { } // 컴파일 에러: 상속 불가
: final 클래스를 상속하려고 하면 컴파일 에러가 발생한다.
: 보통 불변 클래스를 만들거나 클래스 동작을 고정하기 위해 사용된다.
'Java' 카테고리의 다른 글
Java) 변수의 종류와 접근 범위 (0) | 2025.01.09 |
---|---|
Java) static 키워드의 이해와 활용 예제 (0) | 2025.01.09 |
Java) 인터페이스와 다중 상속 예제 코드 (0) | 2025.01.09 |
Java) 추상 클래스와 추상 메서드의 이해 및 활용 예제 (0) | 2025.01.09 |
Java) 객체지향 프로그래밍 : 상속성 및 다형성(3) (0) | 2025.01.09 |