kkkkkkkkkkkk
kkkkk
kkkkkkkkkkkk
전체 방문자
오늘
어제
  • 분류 전체보기
    • CS & OS
    • Algorithms
    • Laguage
    • Book
      • 객체지향의 사실과 오해
      • Effective Java
      • Spring boot 와 AWS로 혼자 구현하는 ..
      • 도메인 주도 계발 시작하기
    • DB
    • Spring
    • Spring Boot
    • JPA
    • Git
    • Clean Code
    • HTTP

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 역할
  • 응집도
  • 객체지향 프로그래밍
  • 책임
  • 설계 원칙
  • 결합도

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
kkkkkkkkkkkk

kkkkk

[JAVA] Optional
Laguage

[JAVA] Optional

2022. 1. 20. 17:02

학습내용

  • Optional 을 왜 사용하는가??
  • Optional 사용법

1. 우리는 Optional 을 왜 사용하는가??

 

 

Book 이라는 domain 이 있습니다. Book 의 name 이 null 일 때 무엇일 일어날까?

NullPoint Exception 이라는 Error 가 출력 될 것인데 이 부분의 에러를 잡으려면 조건문으로 null 이 들어오지 않게 코드를 작성했을겁니다.

 

 

이런식으로 null 조건을 만들어 감싸줍니다.

 

하지만 Otional 을 사용한다면 null 체크를 위한 조건문을 만들지 않아도 되고 Otional로 감싸주어 null 을 예방할 수 있습니다.

 

객체가 null 이면 터지겠죠?

 

Optional 이라는 케이스, 컨테이너?? 껍질?? 로 감싸서 null 이 터지는걸 보호합니다.

 

정리

단일 책임 원칙과 책임 주도 설계를 바탕으로 해당 서비스에서 null 체크 하는 책임을 Optional 에게 위임을 하여 해당 서비스에 null 체크 로직을 간결하게 사용할 수 있다는 점에서 우리는 Optional 을 사용한다.


2. Optional 사용법

참조 : https://www.daleseo.com/java8-optional-after/

'Laguage' 카테고리의 다른 글

[Java] What is Serialization in Java?  (0) 2022.06.24
[Java] ArchUnit 아키텍처 테스트에 대해 알아보자  (0) 2022.06.18
[JAVA] JVM 구조  (0) 2022.02.11
[JAVA] 스레드 ( Thread )  (1) 2022.02.08
[JAVA] @애노테이션 ( Annotation )  (0) 2021.12.28
[JAVA] 열거형 ( enums )  (0) 2021.12.28
[java] 객체지향 프로그래밍 설계 원칙 - SOLID  (0) 2021.12.10
[java] 객체지향 프로그래밍 설계 원칙 - 결합도 / 응집도  (0) 2021.12.09
    'Laguage' 카테고리의 다른 글
    • [JAVA] JVM 구조
    • [JAVA] 스레드 ( Thread )
    • [JAVA] @애노테이션 ( Annotation )
    • [JAVA] 열거형 ( enums )
    kkkkkkkkkkkk
    kkkkkkkkkkkk

    티스토리툴바