TIL_230211

2023. 2. 11. 23:51TIL_WIL

오늘은 객체지향 범위 복습하고 항해99 숙련주차 JPA강의 남은 것을 완강했다.

구조는 어떻게 돌아가는지 많이 익숙해졌고, 내일은 과제를 하면서 코드를 직접 쳐보고 익숙해 져야할 것 같다.

 

그리고 김영한님의 HTTP강의를 들었는데 쉽고 재미있게 들었다.

실무에 관련한 내용도 알려주시며 팁을 주셨는데 아직까지 멀게만 들리는 것도 있고 어떤 방향으로 나아가야하는 지도 생각해보며 좋은 강의라고 느꼈다.

내일부터 김영한님 JPA강의도 같이 병행해서 더 이해도를 높여야겠다.

 

=====================================================================

Optional은 null을 반환하면 오류가 발생할 가능성이 매우 높은 경우에 "결과 없음"을 명확히 더러내기 위해 메소드의 반환 타입으로 사용되도록 매우 제한적으로 설계된 것

 

올바르게 사용하지 못하면 NoSuchElementException이 발생하고 새로운 문제가 생긴다.

또한 코드 가독성을 떨어뜨리며 시간적 공간적 비용이 증가한다.

 

 

 

NPE(NullPointerException) 를 방지하기위해 null 여부 검사를 사용

변수가 많은 경우 코드가 복잡해지고 번거로워 null대신 초기값 사용 권장

 

Optional

Optional<T>는 null 이 올 수 있는 값을 감싸는 Wrapper 클래스로 참조하더라도 NPE가 발생하지 않도록 도와준다.

Optional 클래스는 value에 값을 저장하기 때문이다. 또한 각종 메서드도 제공한다.

 

Optional.empty() 값이 Null일 경우

Optional.empty()로 생성

 

Optional.ofNullable() 값이 Null일수도, 아닐수도 있는 경우

 

만약 어떤 데이터가 null이 올 수도 있고 아닐 수도 있는 경우에는 Optional.ofNullable로 생성할 수 있다. 그리고 이후에 orElse 또는 orElseGet 메소드를 이용해서 값이 없는 경우라도 안전하게 값을 가져올 수 있다.

 

'TIL_WIL' 카테고리의 다른 글

TIL_230212  (0) 2023.02.13
WIL#5  (0) 2023.02.12
TIL_230210  (0) 2023.02.10
TIL_230209  (0) 2023.02.09
TIL_230208  (0) 2023.02.09