반응형
자바의 데이터 타입은 크게 기본타입과 참조타입으로 나뉜다.
기본 타입은 메모리상에서 스택영역에 자리잡고, 참조타입은 힙영역에 객체가 자리 잡으며 스택영역에서는 힙영역을 참조 연결한다.
1. 기본 자료형
자료형 | 크기 | 설명 |
byte | 1바이트, -128~127 | 가장 작은 단위로 8bit 로 구성된 1byte 를 기본으로 함. |
char | 2바이트, 0~65535 | 음수를 포함하지 않는 unsigned 자료형으로 문자 표현에 적합. |
short | 2바이트, -32768~32767 | 음수를 포함한 2바이트 크기의 자료형. 작은 데이터 처리에 적합. |
int | 4바이트, -2147483648~2147483647 | 정수의 기본자료형이지만 충분한 크기가 아님에 주의 |
long | 8바이트, -9223372036854775808 ~ 9223372036854775807 | 충분한 숫자값이 필요한 경우 사용 |
float | 4바이트, 1.4E-45 ~ 3.4028235E38 | 실수형의 기본형이 아니므로 숫자뒤에 f 를 붙여 사용 |
double | 8바이트, 4.9E-324 ~ 1.7976931348623157E308 | 실수형의 기본 자료형. |
boolean | 1바이트, true 혹은 false | 논리형으로 참, 거짓을 표현. |
- 자바에서는 유니코드를 기본으로 지원하기 때문에 문자 처리에 2바이트가 필요.
- 문자열은 원시자료형이 아닌 클래스 타입
2. 참조 타입
- 배열 타입
- 열거 타입
- 클래스 (String,,등)
- 인터페이스
더보기
null과 NullPointException
예시)
String a="여행";
a=null; // "여행"에 해당하는 String 객체를 쓰레기로 만듦
String b="자동차";
String c=b; //b객체 주소를 c에 대입
b=null; //b는 이제 쓰레기가 되었고, c는 여전히 "자동차" 객체 가리킴
System.out.println("c: "+ c); //자동차 출력됨
System.out.println("b: "+ b); //null 출력됨
System.out.println("a: "+ a); //null 출력됨
a변수는 "여행" 객체주소를 가리키다가 null로 바뀌었으므로 a변수는 쓰레기값이다.
b변수는 "자동차" 객체주소를 가리키고, c변수도 "자동차" 객체주소를 가리킨다.
b에 null을 대입했으므로 이제 b는 쓰레기값이 된다. 하지만 c는 여전히 "자동차" 객체주소를 가리키고 있다.
반응형
'언어 > java' 카테고리의 다른 글
[java] StringBuffer, StringBuilder, String 차이 (0) | 2024.07.22 |
---|---|
[java] 배열 (0) | 2024.06.04 |
[java] 메서드 오버로딩, 매서드 오버라이딩, 가변인자 (0) | 2024.06.04 |
[java] 클래스, 메서드, 변수, 상수명 규칙 (0) | 2024.06.04 |
[java] LocalDate , LocalDateTime, LocalTime 차이 (0) | 2024.02.12 |