더북(TheBook)

숫자는 보통 0으로 초기화하면 편하다. 하지만 객체 참조를 기본 값 null로 초기화하는 것은 자주 오류를 일으키는 원인이 된다. Employee(double) 생성자에서 name 변수를 빈 문자열로 설정하지 않았다고 하자.

public Employee(double salary) {

    // name은 자동으로 null로 설정된다.

    this.salary = salary;

}


누군가 getName 메서드를 호출하면 예상하지 못한 널 참조를 얻을 것이다. 이때 다음과 같이 조건을 검사하면 널 포인터 예외가 일어난다.

if (e.getName().equals("James Bond"))

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.