Java(폐지)/Java 공부
final 키워드
kyeongjun-dev
2020. 7. 20. 14:10
fianl 키워드
final은 마지막, 최종이라는 의미를 갖는다. final 키워드가 나타날 수 있는 곳은 세 가지 클래스, 변수, 메서드다.
(객체 지향 언어의 구성요소가 이 세가지다...)
fianl과 클래스
아래와 같이 클래스에 final이 붙는다면 상속을 허락하지 않겠다는 의미다.
package finalClass;
public final class 고양이 {
}
그러면 아래처럼 상속을 할 수 없다.
package finalClass;
public class 길고양이 extends 고양이 {
}
- 고양이에 빨간 줄이 생기면서 'The type 길고양이 cannot subclass the final class 고양이'라는 오류를 출력한다.
final과 변수
변수에 final이 붙으면 '변경 불가능한 상수'가 된다.
다른 언어에서는 읽기 전용인 상수에 대해 final 키워드 대신 const를 사용한다. 자바에서는 const를 키워드로 등록해 놓고 쓰지 못하게 한다.
final과 메서드
메서드가 final이라면 재정의, 즉 오버라이딩을 금지하게 된다.