참조값의 부재를 안전하게 다룹니다.
null은 참조가 어떤 객체도 가리키지 않음을 뜻합니다. null에서 메서드나 필드에 접근하면 NullPointerException이 발생하므로 생성 시 필수값을 검증하고 선택값을 명확히 표현합니다.
Optional.ofNullable은 null을 받으면 빈 Optional을 만들고, orElse는 비어 있을 때 넘겨받은 기본값 이름 없음을 돌려줍니다. 같은 자리에 Optional.of를 쓰면 null을 받는 즉시 NullPointerException이 발생합니다. orElse의 인수는 값이 있어도 항상 먼저 계산되므로, 기본값을 만드는 비용이 크다면 필요할 때만 실행되는 orElseGet을 씁니다.
Optional은 반환 결과가 없을 수 있음을 API에 표현할 때 유용하지만 필드, 매개변수, 모든 지역 변수에 기계적으로 쓰지는 않습니다.
null 가능성 어노테이션과 정적 분석을 사용하고 공개 메서드의 null 계약을 일관되게 유지합니다.
예외를 피하려고 모든 곳에 null 검사를 흩뿌리기보다 값이 처음 들어오는 경계에서 차단하세요.
직접 바꿔보세요별명이 없을 때 기본 이름을 출력하세요.
실행 버튼을 누르면 결과가 여기에 표시됩니다.