null 때문에 발생하는 문제

  • 에러의 근원 : NPE
  • 코드를 어지럽힌다. : 중첩된 null 확인 코드
  • 형식 시스템에 구멍을 만듦  : null이 할당되면 시스템의 다른부분으로 null이 퍼졌을때 애초에 null이 어떤 의미로 사용되었는지 알 수 없음

Optional클래스를 사용

메서드의 시그니처만 보고도 선택형 값인지 여부를 구별 할 수 있다.

public class Person{
	private Optional<Car> car; //사람이 차를 소유했을 수도 소유하지 않았을 수도 있다
    public Optional<Car> getCar();{
    	return car;
        }
    }

 

Optional 사용 

  • 잠재적 null이 될 수 있는 대상을 Optional로 감싸기
  • 팩토리메서드 Optional.empty , Optional.of , Optional.ofNullable 이용해서 Optional 객체 만들기
Optional<Object> value = Optional.ofNullable(map.get)"key"));

'* > What I did today' 카테고리의 다른 글

객체지향  (0) 2023.03.23
How to Achieve More  (3) 2023.03.14
DB Connection Pool  (0) 2023.02.15
Tree  (0) 2023.01.10
GC  (0) 2023.01.01
static 변수는 JVM의 어디에 저장될까 ?  (0) 2022.12.25
JVM  (0) 2022.12.24
Java - static 사용의 지양  (0) 2022.12.17

+ Recent posts