Final, Finalize, Finalize에 대해 알아야 할 모든 것



Final, Final 및 Finalize in Java에 대한이 기사에서는 Final, finally 및 Finalize 키워드 간의 차이점에 대한 전체 목록과 실제 구현을 제공합니다.

사전 경험이있는 경우 , 그렇다면 면접관이 일반적으로 기본 개념에서 선택하는 까다로운 질문을하는 경향이 있음을 알 수 있습니다. 가장 많이 묻는 질문 중 하나는 final, finally 및 finalize를 구별하는 것입니다. . 이 기사의 매체를 통해 final, finally 및 finalize 사이에 명확한 선을 그려 더 나은 통찰력을 얻는 데 도움이 될 것입니다.

이 기사에서는 다음 주제를 다룰 것입니다.





따라서 final, finally 중 첫 번째 키워드로 시작하여 Java에서 finalize를 시작하겠습니다.

최종 키워드

Java에서 final은 액세스 수정 자로도 사용할 수있는 키워드입니다. 즉, final 키워드는 사용자의 액세스를 제한하는 데 사용됩니다. 다음과 같은 다양한 컨텍스트에서 사용할 수 있습니다.



  1. 가변 결승
  2. 최종 방법
  3. 최종 수업

이들 각각에서 최종 키워드는 다른 효과를 갖습니다. 이제 각각에 어떻게 영향을 미치는지 살펴 보겠습니다.

1. 가변 엔딩

마지막 키워드가 변수, 필드 또는 매개 변수와 함께 사용된다는 것은 참조가 전달되거나 인스턴스화가 완료되면 해당 값이 프로그램 실행 전체에 걸쳐 변경 될 수 없음을 의미합니다. 경우 어떤 값도 final로 선언 한 후 공백 / 초기화되지 않은 최종 변수라고하며 생성자를 통해서만 초기화 할 수 있습니다.

이제 예를 살펴 보겠습니다.



public class A {int var1 = 123 // 최종 변수 선언 final int var2 = 345 final int var3 // 빈 최종 변수 초기화 시도 var = 555 // Error A () {var1 = 111 // No Error var2 = 333 // 컴파일 오류 // 빈 최종 변수 초기화 var3 = 444 // 오류 없음} // 최종 매개 변수 전달 void avg (int param1, final int param2) {param1 = 2345 // 오류 없음 param2 = 1223 // 컴파일 오류} // 최종 필드 선언 void show () {final int fieldVal = 300000 fieldVal = 400000 // Error}}

그래서, 이것은 final 키워드가 변수에 어떤 영향을 미치는지에 관한 것입니다. 이제 메소드가 어떻게 영향을 받는지 보겠습니다.

2. 최종 방법

자바에서는 메소드가 final로 선언 될 때마다 프로그램 실행 내내 모든 자식 클래스에 의해.

예를 보겠습니다.

// FINAL METHOD class A {final void method_abc () {System.out.println ( 'This is a Final method and cannot be overrideden')} void method_xyz () {System.out.println ( '이것은 일반 메서드이며 재정의 가능 ')}} class B extends A {void method_abc {// Compile Time Error} void method_xyz () {System.out.println ('This is an overridden method in class B ')}}

지금까지 변수와 메소드 final을 선언 한 결과를 이미 보았습니다. 이제 더 나아가서 Java에서 클래스가 final로 선언 될 때 어떤 일이 발생하는지 살펴 보겠습니다.

3. 최종 수업

Java에서는 클래스가 final로 선언 될 때마다 . 클래스가 final로 선언되면 클래스에 포함 된 모든 데이터 멤버와 메서드가 암시 적으로 final로 선언되기 때문입니다. 또한 클래스가 final로 선언되면 더 이상 추상으로 선언 할 수 없습니다. 즉, 클래스는 최종 또는 추상 둘 중 하나 일 수 있습니다.

예를 보겠습니다.

// FINAL CLASS final class A {// class body} class B extends A {// 컴파일 오류 // 클래스 본문}

이제 최종 키워드의 작동 방식을 명확하게 이해 하셨기를 바랍니다. 이제 final, finally 및 finalize에 대한이 기사를 진행하여 finally 키워드의 역할을 알아 보겠습니다.

마지막으로 차단

Java에서 마지막으로 . 일반적으로 try-catch 블록이 앞에옵니다. 마지막 블록은 리소스 정리 나 메모리 사용 해제 등과 같은 중요한 코드를 실행하는 데 사용됩니다. finally 블록은 예외 처리 여부와 관계없이 실행됩니다. 따라서 정리 코드를 finally 블록으로 래핑하는 것이 좋은 방법으로 간주됩니다. catch 블록과 함께 사용할 필요없이 try 블록과 함께 사용할 수도 있습니다.

이제 동일한 예를 살펴 보겠습니다.

class A {public static void main (String args []) {try {System.out.println ( 'Try Block') throw new Exception ()} catch (Exception e) {System.out.println ( 'Catch Block') } finally {System.out.println ( 'Finally Block')}}}

지금까지 Java의 최종 키워드와 마지막 키워드에 대해 이미 논의했습니다. 이제 세 가지 키워드 중 마지막 키워드 인 finalize keyword in Java에 대해 조명 해 보겠습니다.

방법 마무리

Finalize는 Object 클래스에 정의 된 보호 된 비 정적 메서드이므로 Java의 모든 개체에 사용할 수 있습니다.이 방법은객체가 완전히 파괴되기 전에 가비지 수집기에 의해 호출됩니다.때때로 그렇듯이an 열린 연결 닫기, 리소스 해제 등과 같은 중요한 작업을 완료해야 할 수도 있습니다. 이러한 작업을 수행하지 않으면 프로그램의 효율성이 떨어질 수 있습니다. 그래서가비지 수집기는 더 이상 참조되지 않고 가비지 수집 용으로 표시된 객체에 대해 호출합니다.

이 메서드는 클래스 외부에서 사용을 제한하기 위해 protected로 선언됩니다. 그러나 가비지 수집시 속성을 정의하기 위해 클래스 내에서 재정의 할 수 있습니다.

java 캐스트 double to int

같은 예를 보겠습니다.

public class A {public void finalize () throws Throwable {System.out.println ( 'Object is destroyed by the Garbage Collector')} public static void main (String [] args) {Edureka test = new Edureka () test = null System.gc ()}}

이것으로 우리는 final, finally 및 finalize에 대한이 기사의 마지막 부분에 도달했습니다. 결론을 내리기 위해 주요 차이점을 한눈에 파악하는 데 도움이되는 세 키워드를 모두 비교했습니다.

비교 표 – 최종 대 최종 대 Java에서 키워드 마무리

인자 결정적인 드디어 마무리
정의 Final은 키워드이며 Java에서 액세스 수정 자로 사용됩니다.마지막으로 예외 처리에 사용되는 Java 블록입니다.Finalize는 가비지 수집에 사용되는 Java 메서드입니다.
신청 Final in Java는 변수, 메소드 및 클래스와 함께 사용되어 액세스 권한을 설정합니다.마지막으로 블록은 try 및 catch 블록과 함께 사용됩니다.Java의 Finalize 메소드는 더 이상 사용되지 않는 객체와 함께 사용됩니다.
함수 Java의 최종 변수는 한 번 할당 된 값을 변경할 수없는 상수입니다.

자바의 최종 메소드는 하위 클래스로 재정의 할 수 없습니다.

자바의 최종 클래스는 하위 클래스에 상속 될 수 없습니다.

마지막으로 Java의 블록은 try 블록에서 사용 된 리소스를 정리하는 데 도움이됩니다.Finalize 메서드는 가비지 수집기에 의해 삭제되기 전에 개체에 대한 작업을 정리하는 데 도움이됩니다.
실행 컴파일러에 의해 호출 될 때 실행됩니다.try-catch 블록 실행 직후 실행객체가 파괴되기 직전에 실행됩니다.

이 Final, Final and Finalize in Java를 통해 개념을 명확히하고 지식에 가치를 더하는 데 도움이 되었기를 바랍니다.

이 기사를 'Final, finally and Finalize in Java'에서 찾은 경우 ”관련, 체크 아웃 전 세계에 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 질문이 있으십니까? 이 댓글 섹션에서 언급하십시오 최종, 최종 및 Java에서 마무리 그리고 우리는 당신에게 돌아갈 것입니다.