Optional(옵셔널) Optional은 자바 프로그래밍에서 굉장히 자주 보이는 NullPointerException을 방지하기 위해서 등장했다고 볼 수 있다. 자바에서 NullPointerException을 자주 보게 되는 이유가 뭘까? 그 이유는 null을 리턴할 수도 있는 객체를 참조할 때 null 체크를 깜빡했기 때문이다. 우선 다음 코드를 보자. public class PetStore { public String getBuyer(Pet pet) { Master master = pet.getMaster(); return master.getName(); } } 위 코드에서는 null이 총 세 군데에서 발생할 수 있다. 첫 번째는 pet이 null일 수도 있고, 두 번째는 master가 null일 ..