생성자를 이용한 Final 멤버변수 초기화Backend/java2018. 8. 12. 17:55
Table of Contents
반응형
생성자를 이용한 Final 멤버변수 초기화
1. Final이 붙은 변수는 상수이므로 보통은 선언과 초기화를 동시에 하지만 , 인스턴스변수의 경우 생성자에서 초기화 할 수 있다.
설명서
final이 붙은 변수는 보통... 선언과 동시에 초기화를 해주지만...
인스턴스변수의 경우에는 생성자에서 초기화 해주는 것이 가능합니다.
예를 들어 위와 같이 Card클래스를 정의할 때... 카드의 속성인 NUMBER와 KIND는
한번 값이 지정되면 바뀌지 않아야 하는 값입니다.
카드의 숫자와 무늬가 게임도중에 마음대로 바뀌어서는 안되겠죠.
그래서 제어자 final을 붙였습니다.
그런데... 만일 final이 붙은 변수는 반드시 선언과 동시에 초기화를 해야한다면...
모든 Card인스턴스는 같은 NUMBER와 KIND값을 갖게 되겠죠...
이러한 문제를 해결하기 위해서... 멤버변수의 경우, final이 붙었어도...
선언과 동시에 초기화 하지않고... 생성자에서 단 한번만 초기화 할 수 있도록 허용했습니다.
Card인스턴스를 생성한 다음에는... 이와같이... 다른 값을 저장하려고 하면... 에러가 발생합니다.
반응형
'Backend > java' 카테고리의 다른 글
접근 제어자란 무엇인가 (0) | 2018.08.12 |
---|---|
abstract란 무엇인가 (0) | 2018.08.12 |
Final이란 무엇인가 (0) | 2018.08.12 |
Static이란 무엇인가 (0) | 2018.08.12 |
제어자란 무엇인가(Modifier) (0) | 2018.08.12 |
@IT grow. :: IT grow.
#IT #먹방 #전자기기 #일상
#개발 #일상