Q. Optional객체를 attribute에 담아? 왜?
일단 Optional이 뭐냐면?
Optional is primarily intended for use as a method return type where there is a clear need to represent "no result," and where using null is likely to cause errors. A variable whose type is Optional should never itself be null; it should always point to an Optional instance. (출처: 자바 API문서)
Optional는 지네릭 클래스로 ’T타입의 객체’를 감싸는 래퍼 클래스. 그래서 Optional 타입의 객체에는 모든 타입의 참조변수를 담을 수 있다. 결과를 그냥 반환하는 것이 아닌 Optional 객체에 담아서 반환하는 것인데 이처럼 객체에 담아서 반환을 하면 반환된 결과가 null인지 if문으로 체크하는 대신에 optional 에 정의된 메서드를 통해서 간단히 처리할 수 있다. (출처: 자바의 정석)
Optional에 관한 글: https://stackoverflow.com/questions/23454952/uses-for-optional
-> 이런 내용들을 제대로 숙지 하지 못하고 controller에서 Optional을 model에 담아서 보내는 코드를.. 짰는데...
해당하는 코드는 이미 저장되어 있는 객체를 보여주는 것이기 때문에(?) Null일수가 없고 그래서 굳이 Optional을 쓸 필요가 없다고까지 이해하여 리팩토링을 진행했다.