녕의 학습 기록

[Java Exception] java.lang.NullPointerException 본문

Dev/Java

[Java Exception] java.lang.NullPointerException

kjyyjk 2022. 10. 27. 23:01

* NullPointerException

 

자바 프로그램에서 가장 빈번하게 발생하는 실행 예외

 

null 값을 갖는 참조 변수로 객체 접근 연산자인 " . " 를 사용했을 때 발생한다.

 

즉, 객체가 없는 상태에서 객체를 사용하려 해서 발생하는 예외인 것이다.

 

public class NullPointerExceptionExample{
	public static void main(String[] args){
    	String data = null;
        System.out.println(data.toString());
    }
}

data 변수는 null 값을 가지기 때문에 String 객체를 참조하지 않는데 String객체의 toString()을 호출하고 있다.

NullPointerException 발생

 

* 에러

<spring 기본> 회원 도메인 Test 중에 발생한 NullPointerException 에러

이처럼 java.lang.NullPointerException이 계속 발생했다.

 

출력 결과로 첫번째 출력문까지는 호출된 것으로 보아 두번째 호출문에서 findMember.getName() 부분에서 문제가 있는 것 같았다.

 

 

* 에러 해결

 

NullPointerException 발생

 

즉 findMember.getName() 에서 현재 findMember가 null값이라는 것

 

서비스 구현체 MemberServiceImpl 과 저장소 구현체인 MemoryMemberRepository 를 찾아봤다.

 

역시나 MemoryMemberRepository의 save 메서드의 코드가 지워져있었다.( 어째서..? )

 

save() 내용이 없으니 join()도 안되었고 조회도 되지 않아 findMember의 값이 null 이 된 것이다.

분노의 코드 수정
다시 테스트 실행하여 정상 확인

 

* 자바의 정석 423p 참고

'Dev > Java' 카테고리의 다른 글

[Java] 멀티스레드  (0) 2022.11.13
[Java Exception] NoSuchBeanDefinitionException  (0) 2022.11.05
[Java] 인터페이스  (0) 2022.08.06
[Java] 추상클래스  (0) 2022.07.27
[Java] 다형성  (0) 2022.07.21