-
final 제어자는
필드, 지역변수, 메서드 , 클래스에서 사용할 수 있다.
일단 final 필드의 경우 스택 메모리에 값을 저장할 경우에 메서드가 종료되면 메모리에서 사라지기 때문에
이벤트를 다시 불러올 때 낭비가 될 수 있다. 그래서 이때는 final 필드를 사용하여 값이 사라지지 않도록 상수 메모리 영역에 복사해서 저장하는 것이다 .
이때는 객체가 만들어질 때 final로 선언된 필드값은 상수 메모리 영역에 1개가 복사된다.
그래서 이 부분을 상수 메모리 영역이라고 말한다.
메서드와 클래스에도 final을 넣을 수 있다 .
final 메서드와 final 클래스도 final 필드나 지역변수와 마찬가지로 최종적인 의미가 있기에 수정이 불가하다.
즉 final 메서드에서 수정의 의미는 오버라이딩이 될 것이고, final 클래스에서 수정의 의미는 상속을 받아서 표현하는 것을 의미할 것이다.
여기서 기억할 것은 string 클래스의 특징이다.
string클래스는 값이 덮어쓰는 것이 템플릿 구조에서만 가능할 만큼 경직된 클래스였다는 것을 기억의 힌트로 삼고 String 클래스도 final클래스로 정의되어 있기에 상속이 불가하다는 것을 기억하자.
'자바 > 자바 키포인트' 카테고리의 다른 글
[자바] 추상클래스와 인터페이스가 객체를 생성하는 2가지 방법 정리하기 (0) 2023.02.12 [자바] 이너 인터페이스를 활용한 자바에서 이벤트 처리 기능 만드는 예시문 연습하기 (0) 2023.02.11 [자바] Treeset의 정의와 기준을 잡아주는 comparable 인터페이스와 comparator 인터페이스의 예시문 만들기 (0) 2023.01.05 [자바] 제네릭 클래스와 제네릭 메서드의 정의와 간단한 사용예시 만들기 (0) 2023.01.04 [자바] ArrayList 배열을 사용하여 간단한 학생 성적 프로그램 만드는 연습하기 (0) 2023.01.03 댓글