[JAVA]/08. 상속
06. final (마지막의,변동될수없는)
76beny
2022. 4. 13. 14:30
■ 거의 모든 대상에 사용가능(클래스,메서드,멤버변수,지역변수)
final 클래스
■ 변경 불가능한 클래스, 확장될 수 없는 클래스
-> final로 지정된 클래스는 다른 클래스의 조상이 될수 없다.
public final class FinalClass {}
final 메소드
■ 변경이 불가능한 메서드,final이 지정된 메서드는 오버라이딩이 불가능함
public final void method() {}
final +변수(멤버,지역)
■ final이 붙으면 값을 변경할 수 없는 상수가 된다.
예약어
유의사항
1. 클래스에 abstract와 final동시에 사용 불가능
2. 메소드에 static과 abstract동시에 사용 불가능
3. abstract메소드의 접근제어자로 private불가능
final 코드 예시
package com.kh.ex04.overloading;
final public class TestFinal { // 상속 불가! 맨앞에 붙어있는 final때문에!
public static final int MAX_SIZE = 100; // 변경 불가 -> ★★★★★★
// public static final = 상수=> 숙어 개념으로 이해하기( 상수선언하는 숙어!)
public final void myMethod(final int finalValue) { // 메소드 앞에 final붙여도 오버라이딩 불가!
// finalValue = 100; // 변경 불가!
}
}
"본 인터넷 사이트 내의 모든 이미지, 문구, 콘텐츠, 내용 등에 대한 저작권은 76beny에게 있습니다.
이를 무단으로 도용, 복사, 전재, 재배포, 2차 변형 등을 할 경우
민, 형사상 법적 조치 등 저작권법에 의거하여 처벌 받을 수 있습니다."