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값을 통해 연산 여부를 구분할 수 있게됩니다