참조값의 부재를 안전하게 다룹니다.
null은 참조가 어떤 객체도 가리키지 않음을 뜻합니다. null에서 메서드나 필드에 접근하면 NullPointerException이 발생하므로 생성 시 필수값을 검증하고 선택값을 명확히 표현합니다.
예제에서 value == null; Objects.requireNonNull(value) 부분부터 찾으세요. 선언 타입, 실제 객체와 반환값을 한 줄씩 따라가면서 컴파일 단계에서 잡히는 문제와 실행 중 생기는 문제를 구분하세요.
Optional은 반환 결과가 없을 수 있음을 API에 표현할 때 유용하지만 필드, 매개변수, 모든 지역 변수에 기계적으로 쓰지는 않습니다.
null 가능성 어노테이션과 정적 분석을 사용하고 공개 메서드의 null 계약을 일관되게 유지합니다.
현재 코드를 먼저 실행해 출력과 타입 흐름을 확인한 뒤 별명이 없을 때 기본 이름을 출력하세요.
예외를 피하려고 모든 곳에 null 검사를 흩뿌리기보다 값이 처음 들어오는 경계에서 차단하세요.
직접 바꿔보세요별명이 없을 때 기본 이름을 출력하세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.