2010년 후반 현재, JVM 언어들의 가장 핫한 토픽은 바로 null safety
<aside> 💡 엘비스 연산자란 무엇인가요?
</aside>
null이란 무엇인가?
null을 다루는 것이 왜 중요한데?
// boolean식이 거짓이면 AssertionError발생
assert [boolean식];
// boolean식1이 거짓이면 식2를 담아 AssertionError
assert [boolean식1] : [boolean식2];
<aside> 💡 주의! JVM 옵션에 -ea를 넣어줘야만 assert문을 사용할 수 있습니다.
</aside>
isNull
벡기선 님의 강좌에서 다룬 내용을, Optional페이지에 별도로 정리했습니다!
API의 매개변수와 반환값에 절대 null을 쓰지 마라
매개변수로 null을 받은 후 분기로 처리하지 마라
null일때의 메서드와 null이 아닐때의 메서드를 별도로 만들어라
null을 반환하지 말고, 예외를 던지거나 Null객체나 Optional을 반환해라
<aside> 💡 Null 객체는 또 뭔가요?
‣ 페이지 참조 바랍니다
</aside>
어쩔수 없이 써야한다면 null의 영향과 범위를 최소화하라

객체의 사전/사후 조건을 항상 따져라(계약에 의한 설계)