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 |