티스토리 뷰

728x90

Null이 필요하기 때문에

primitive type은 언제나 값이 존재한다.

필드에서 초기화하면 디폴트값으로 0에 준하는 값(type마다 다르다)이 들어가며

메서드나 클래스 내에서는 초기화 및 선언을 같이 해줘야 실행 되고 

초기화만 시행하고 선언을 하지 않을시 에러가 발생하게 된다.

 

즉 언제나 값이 존재하고 절대로 null이 발생될 수 없다. 이는 평상시에는 NullPointerException이 생기지 않을 수 있는 좋은 수단이지만

"없는 상태"와 "0"을 구분할 수 없는 단점을 가지고 있다.

 

id를 primitive type으로 두었을때 조회시 나오게 될 수 있는 값인 0에 대해서 어느 누구도 이 값이 "없는 상태"를 의미하는 0인지, integer의 0인지 장담할 수 없다.

 

"없는 상태"라는 응답을 확실하게 보장받기 위해서 wrapper class로 boxing 후 Object로 사용하게 되는 것이다.

 

 

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함