작성
·
120
0
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)
[질문 내용]
(자바 기본 - NullPointerException강의 입니다)
제목 그대로 NullMain3.java파일에서 System.out.println("bigData.data.value=" + bigData.data.value);코드를 보면요. value라는 필드가 없는데 0이 출력되는 이유가 궁금합니다!
답변 1
1
안녕하세요. 주형님, 공식 서포터즈 y2gcoder입니다.
질문에 대해서 제가 잘 이해하지 못했을 수도 있습니다!
먼저 BigData
의 내부에 Data data
필드가 존재하고, 해당 Data
타입 내에는 value
필드가 존재합니다 🙂
그리고 NullMain3
에서는 BigData bigData
내부의 Data
를 초기화해주지 않아서 bigData.data.value
를 콘솔에 출력하려고 할 때 NullPointerException
이 발생합니다!
NullMain4
에서 bigData.data.value
에서 value
의 값이 0
으로 되는 것은 value
가 int value
로 기본형 이고 Data
의 멤버 변수이기 때문에 0
으로 자동 초기화되기 때문입니다!
감사합니다.