Study/Java

Java: 배열의 초기값 ( String 배열의 초기값만 왜 null? )

devyoseph 2021. 10. 25. 21:57

배열의 초기값

배열을 생성할 때 선언한 데이터 타입의 default 값으로 배열이 채워집니다

int는 0, char은 '0' ...

데이터 타입 초기값
int 0
double 0.0
char '0'
boolean false

 

하지만 String 이나 사용자가 만든 객체로 배열을 만들 때 null값이 default 값입니다.

왜 int, char 등은 null이 초기값이 아닐까요?

이들은 primitive 자료형이며 객체(Object) 유형만 null값을 지닐 수 있기 때문입니다

 

때문에 Wrapper class로 분류되는 String, Integer, Double 등으로 배열을 만들면

null값을 default값으로 얻을 수 있습니다

데이터 타입 초기값
String null
Character
Integer
Double
Long
Boolean
사용자만의 class

 

초기값으로 0같은 값이 있다면 배열 안에서 계산을 마친 곳인지 아닌지 확인하기가 어려운 경우가 있습니다

이런 경우 Wrapper class로 배열을 선언하여 null값을 통해 연산 여부를 구분할 수 있게됩니다