상세 컨텐츠

본문 제목

자바에서 보이는 final 제어자 도대체 왜 쓰는 거지?

java_자바

by 쫑메이 2020. 6. 12. 00:16

본문

 

 

 

 

 

 


 

 

 

 

final 제어자란 도대체 뭘까?

 


 

 

 

final 키워드 정리


- 변경의 마지막이라는 의미를 부여함

- 클래스, 메서드, 변수에 사용 가능함

 

 

 

 

 

 

 

 

 

 

 

자바에서 final 제어자란?


 

final 이란

단어 뜻 그대로 마지막, 즉 더는 바뀔 수 없음을 뜻한다

 

 

 

 

final 이란 단어를

- 변수에다 붙이면 값 변경 불가하다!!!

리터럴==>읽기 전용, 값을 바꿀 수 없게 된다

 

 

 

final 이란 단어를

- 메서드에 붙이면 오버라이딩 금지, 하지만 상속받아서 쓰는 것은 가능

 

 

 

final 이란 단어를

- 클래스에 붙이면 상속 금지가 된다!!!!

 

 

 

 

 

예를 들어 자세히 살펴보자!!!!!!!!!!!!!!!

 

 

 

 

 

final 제어자 종류 _ 1) final 변수


1) final 변수

값 변경 금지=> 저장되어 있는 값만 사용 가능

= 즉, 상수라는 말

 

일반 변수와 구별하기 위해 이름을 보통 대문자 사용

예) MAX_NUM

 

 

 

 

 

 

 

 

final 제어자 종류 _ 2) final 메서드


 

2) final 메서드

메서드 변경 금지= 메서드 오버라이딩 금지

단, 상속받아 사용은 가능

 

 

 

 

 

 

 

final이 안 붙은 메서드는 상속된 클래스의 오버라이딩이 된다

 

 

 

 

 

 

 

 

 

 

final 제어자 종류 _ 3) final 클래스


 

3) final 클래스

클래스 변경 금지, =상속 금지

 

 

 

단, 인스턴스 생성을 통해 사용은 가능

예> String 클래스, Math 클래스 등

 

 

 

 

 

 

 

하지만 final 클래스의 인스턴스를 생성해서 사용할 수는 있다

그리고 final 클래스 내의 인스턴스 변수 값 변경은 가능

 

 

 

 

 

 

 

 

blank final 변수


 

final 제어자는 일반적으로 선언과 동시에 초기화를 하는 경우가 많다

왜? 애초에 초기화를 하지 않으면 나중에 값을 바꾸기가 힘들기 때문이다

 

 

그런데 예외적으로 초기화를 진행하지 않는 경우가 있다

이것을blank final 변수라고 한다

(blank는 ‘비어있는‘ 뜻)

 

 

이 blank final 변수를 초기화하기 위해서는

생성자를 통해서 초기화해야 하며, 하지 않으면 오류 발생함

 

 

 

 

 

 

 

 

 

 

 

 

 

ㅣ 수고 많으셨어요~ㅣ


 

 

 

 


 

 

 

 

 

부족한 글을 읽어주셔서 감사드립니다

아직 부족한 게 많으니

틀린 곳이 있다면

조언의 말씀 꼭 부탁드립니다!!!!

 


 

 

반응형

관련글 더보기