🚀 Programming/JAVA+Spring

Java에서 final, finally, finalize() 의 사용

jishushu 2022. 8. 28. 18:26
728x90
반응형

Java 를 공부하다보면 정말 비슷한 용어들이 많지만

그중에서 이번에 정리해볼것은 final, finally, finalize()

final 은 "마침내", "결국" 과 같은 뜻이니 뭔가 마무리하겠다는 느낌을 준다.

finalize()는 괄호를 보아 메서드라고 추측 가능하고.

어쨌듯 이 세가지를 정리하면 다음과 같다.

 

1. final=변경하는것을 원치 않는다

변수에 final 을 붙인다 >> 상수(값을 변경할 수 없다)

메서드에 final을 붙인다 >> 오버라이드할 수 없다 (코드 변경을 원치 않을때)

클래스에 final을 붙인다 >> 상속할 수 없다

 

2. finally => try~catch 문에서 사용 

try catch 문에서 세트로 본적 있는 finally.

default로 반드시 수행할 일이 있을때 사용한다.

try //예외가 없다면 수행해야할일
catch // (exception) 
finally //예외가 있든 없든 항상 수행해야할 일

3. finalize()

자바에는 가비지컬렉터라는 애가 있다. 쓸데없이 메모리를 차지하는일이 없도록

사용되지 않는 객체들을 정리해주는건데, 이때 자바프로그램이 객체가 필요없다 판단하여 정리할때

뭔가 수행되었으면 좋겠다 하면 finalize() 메서드를 사용할 수 있다.

그러나 속도문제, 언제 실행될지 알 수 없는 문제로 인해 사용을 권장하지 않는다고 한다.

반응형