[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차 변형 등을 할 경우

민, 형사상 법적 조치 등 저작권법에 의거하여 처벌 받을 수 있습니다."