[Java] Optional의 기초 이해
·
Java
Optional이 필요한 이유Java에서 null은 객체가 존재하지 않음을 표현하는 기본적인 방법이다. 하지만 null은 타입 시스템을 우회하기 때문에, 컴파일러는 해당 값이 실제로 null인지 미리 알 수 없다.그 결과, 컴파일러는 null이 들어올 가능성을 알지 못하고, 개발자는 어디서 NullPointerException이 터질지 런타임 시점 에서야 알게 된다.Java의 타입 시스템Java의 타입 시스템은 컴파일 타임에 타입을 검사합니다. 예를 들어 String 변수에 Integer를 넣으면 컴파일 에러가 발생합니다.(ex - String name = 123;)하지만, null은 예외적으로 어떤 타입에도 대입이 가능하기에, 실제로 값이 있는지 null인지 컴파일러가 알 수 없습니다.예시 코드다음과 ..