Final 제어자

final 제어자는 필드, 지역 변수, 메서드, 클래스 앞에 위치할 수 있으며, 어디에 위치하느냐에 따라 의미가 다르다.

 

final 제어자를 사용한 필드나 지역 변수에 값이 대입되면 절대 변경할 수 없다.

 

Final 변수

*final 변수는 언제 많이 사용할까?

스택 메모리의 변숫값은 자신이 만들어진 메서드가 종료되면 메모리에서 사라지는데,

이벤트를 처리할 때 메모리에서 살진 그 변수를 나중에 사용해야 할 때가 있다.

그러한 변수를 사라지지 않는 영역인 상수 영역에 복사해두고 사용한다.

 

어떤 필요에 따라 복사본을 하나 만들어 놓음으로써 원본이 삭제된 이후에도 그 값을 활용할 수 있도록 하는 것이 final변수 (필드, 지역변수)의 기능이다.

 

Final 메서드와 Final 클래스

final 메서드는 메서드의 기능을 변경할 수 없다. => 오버라이딩 할 수 없다.

final 클래스 역시, 최종 클래스의 의미로 더 이상의 자식 클래스가 없다는 의미이기 때문에 상속이 불가능하다.

 

abstract 제어자

abstract가 붙은 메서드를 추상 메서드, 클래스를 추상 클래스라고 한다.

*추상 메서드를 1개 이상 포함하고 있는 클래스는 반드시 추상 클래스로 정의해야 한다.

 

abstract 제어자의 장점

문법 오류를 사전에 출력해주어 실수를 사전에 방지할 수 있다.

'Web BackEnd > TIL Memo' 카테고리의 다른 글

이너 클래스와 이너 인터페이스  (0) 2022.01.05
인터페이스  (0) 2022.01.03
자바 제어자  (0) 2022.01.01
가변 길이 배열 입력매개변수 매서드  (0) 2021.12.31
클래스와 객체의 개념  (0) 2021.12.29

+ Recent posts