final 예약어 - final 적용(변수, 메소드, 클래스), final로 상수화된 값을 변경할 경우 컴파일 에러 발생

CODEDRAGON Development/Java

반응형

   

   

 

final

·       단어의미 그대로 더 이상 "변경할 수 없음"을 의미합니다.

·       final은 예약어이며 이것은 더 이상의 확장이 불가능함을 알리는 종단(상수)과 같은 것을 의미합니다.

·       변수를 상수화 시키겠다는 예약어이며 변경시 컴파일 에러가 발생합니다.

 

 

 

final 적용

·       변수에 final 적용 시 상수를 의미

·       메서드에 final 적용 시 오버라이딩으로의 확장이 불가능

·       클래스에 final 적용 시 더 이상의 상속 확장이 불가능

 

 

o 변수 final 적용 시 상수를 의미

문법 구성

사용 예

final [자료형] [변수명];

final int VAR=100;

 

 

o 메서드 final 적용 시 오버라이딩(overriding)으로의 확장이 불가능

문법 구성

사용 예

[접근제한] final [반환형] [메소드명](){ }

public final void method(){ }

 

 

o 클래스 final 적용 시 더 이상의 상속 확장이 불가능

문법 구성

사용 예

[접근제한] final class [클래스명]{ }

public final class FlyEx{ }

 

 

 

   

final로 상수화된 값을 변경할 경우 컴파일 에러 발생

The final field AppleSeller.APPLE_PRICE cannot be assigne

   

   

   

final int APPLE_PRICE=1000;

   

APPLE_PRICE=price; //Error: The final field AppleSeller.APPLE_PRICE cannot be assigned