java에서 get() NullPointerException 일때

반응형
728x90
반응형

문제발생

자바 로직에서 VO의 get method를 통해 데이터를 set 해주고 있는 경우에 NullPointerExceptin 에러를 만날 수 있는 경우가 있다.

 

 

예제

StudyVO
   +NoteVO noteVO
   +PenVO penVO (penVO는 Null이다)

 

예시로, StudyVO 안에 NoteVO 타입의 변수와 PenVO 타입의 변수가 선언되어있다. noteVO는 Null이 아니기 때문에 noteVO안의 필드를 get 메소드를 통해 가져와도 에러가 발생하지 않는다.

StudyVO studyVO = new StudyVO();

/** getNoteVO()는 studyVO가 Null이 아니므로 에러가 발생하지 않는다. */
NoteVO noteVO = studyVO.getNoteVO();

/** noteVO는 null이 아니므로 에러가 발생하지 않는다. */
String test = noteVO.getResult();

 

 

값이 Null인 penVO를 보자.

StudyVO studyVO = new StudyVO();

/** getPenVO()는 studyVO가 Null이 아니므로 에러가 발생하지 않는다. */
PenVO penVO = studyVO.getPenVO();

/** NullPointerException 발생! */
String test = penVO.getResult();

 

위 noteVO.getResult()와 penVO.getResult()의 차이를 본다면, penVO의 값이 Null이라는 것이다. 따라서 Null인 객체를 get 메소드를 통해 어떠한 값을 가져오려고한다면, 그때 NullPointerException이 발생한다.

 

 

반응형

Designed by JB FACTORY