final은 "변경할 수 없는" 또는 "상속할 수 없는"을 의미한다.
클래스에 final을 사용하면
final public class FinalClass { // 다른 클래스가 이 클래스를 상속할 수 없음
// ...
}
// 컴파일 에러
class ChildClass extends FinalClass { // final 클래스는 상속 불가
// ...
}
주로 사용되는 경우:
- 보안이 중요한 클래스 (예: String 클래스)
- 상속을 통한 확장을 금지하고 싶을 때
- 불변성을 보장하고 싶을 때
예시:
// 상속 불가능한 클래스
final class Math {
// 수학 관련 메서드들...
}
// Java의 실제 예
final class String { // 문자열 처리 클래스
// String은 너무 중요해서 상속을 막아둠
}
final class Integer { // 정수 처리 클래스
// 기본 타입을 객체로 다루는 클래스도 상속 금지
}
참고: final은 클래스뿐만 아니라 변수와 메서드에도 사용할 수 있다(각각 다른 의미를 가짐).
'Java > 자바 학습' 카테고리의 다른 글
자바 접근 제어자 (0) | 2025.05.01 |
---|---|
메서드 vs 함수 (0) | 2025.05.01 |
자바의 클래스(Class) (0) | 2025.05.01 |
자바의 주요 메서드 (0) | 2025.04.30 |
자바와 자바스크립트의 차이점 (0) | 2025.04.30 |