해결된 질문
작성
·
254
답변 1
1
안녕하세요. ITLAM님, 공식 서포터즈 y2gcoder입니다.
오류가 발생하지 않는 클래스와 오류가 발생한 클래스의 차이는 final 키워드를 가진 필드가 있냐는 것입니다. final 키워드가 붙은 필드는 한 번 초기화하고나면 그 값을 변경할 수가 없습니다. 그래서 해당 클래스를 만들 때 초기화하거나 그 이전에 초기화하지 않으면 그 후에 변경할 수가 없기 때문에 에러가 뜨고 있습니다. 그래서 보통 선언과 동시에 초기화하거나 생성자 단계에서 해당 필드를 초기화해주는 과정이 필요합니다.
반면에 기본 생성자만 있을 때는 미리 선언 시 초기화하지 않았다면, 해당 필드를 초기화하는 코드가 없기 때문에 에러가 발생하게 됩니다. final이 붙지 않은 필드들은 초기화 후에도 그 값을 자유롭게 변경할 수 있기 때문에 에러를 표시하지 않습니다 :)
감사합니다.
감사합니다!