728x90
- [인프런]자바 프로그래밍 입문강좌 4강 기본자료형 정리입니다.
- 데이터가 메모리에서 차지하는 크기에 대해서 학습합니다.
4.1 기본자료형과 객체자료형
- 기본 자료형은 데이터가 변수에 직접 저장되고, 객체 자료형은 객체 메모리 주소가 변수에 저장된다.

- 기본자료형
- 메모리에 데이터가 직접 저장
- 정수, 실수, 문자, 문자열, boolean(true, false)
- 자료형의 종류에 따라 메모리의 크기가 달라진다.
- int i = 10;
- 메모리에 i라는 상자를 만들어두고 데이터 10을 담는다.
- 객체 자료형
- 객체를 담고 있는 메모리가 존재하고, 객체를 가리키는 다른 메모리의 공간(i)이 있다.
- 다른 메모리의 공간에는 객체를 담고있는 메모리 공간의 주소값이 담겨있다.
- 객체를 가리키고 있는 주소를 담고있는 변수
- 객체 자료형의 변수는 항상 주소만 들어가기 때문에 4byte 크기로 고정되어있다.
4.2 Java 기본자료형

- 저장할 수 있는 크기를 넘게되면 오버플로우가 발생된다.
- char : 문자 한 개
- 문자를 표현하는 char가 왜 정수형일까?
- 문자 한 개를 표현하는 ASCII 코드라는 것이 있는데 이는 문자를 숫자로 표현한다.
- 때문에 pc는 문자 한 개를 숫자로 인식한다.
- 문자를 표현하는 char가 왜 정수형일까?
- 일반적으로 사용하는 숫자들은 int(32bit) 범위 안에서 해결할 수 있다.
- 논리형(참, 거짓)
- String
- 문자열을 다루는 자료형
- String str = "ABCDEFG";
- String은 기본자료형이 아닌 객체자료형이다.
- String
char c = 'a';
System.out.println("c = " + c);
int i = 10;
System.out.println("i = " + i);
double d = 10.258;
System.out.println("d = " + d);
boolean b = false;
System.out.println("b = " + b);
String s = "Hello Java World!";
System.out.println("s = " + s);
String str = new String("원래 사용법");
System.out.println("str = " + str);
// 결과
// c = a
// i = 10
// d = 10.258
// b = false
// s = Hello Java World!
// str = 원래 사용법
- String의 경우 원래는 new String 을 사용해야하는데 많이 사용되기 때문에 기본형과 같이 사용되기도 한다.
4.3 형 변환
// 자동(묵시적) 형 변환 :
// 작은 공간의 메모리에서 큰 공간의 메모리로 이동
byte by = 10;
int in = by;
System.out.println("in = " + in);
// 명시적 형 변환 :
// 큰 공간의 메모리에서 작은 공간의 메모리로 이동
int ivar = 100;
byte bvar = (byte)ivar;
System.out.println("bvar = " + bvar);
ivar = 123456;
bvar = (byte)ivar;
System.out.println("bvar = " + bvar);
// 결과
// in = 10
// bvar = 100
// bvar = 64 => 데이터 누실
- byte 크기를 각각의 크기에 비례하는 컵이고 데이터를 그 안에 담긴 물이라고 생각하면 이해하기 쉽다.
- 명시적 형 변환은 데이터가 누실될 수 있다. => 보통 큰 자료형을 미리 사용한다.
728x90
'Java' 카테고리의 다른 글
| 6강 연산자 (0) | 2021.07.31 |
|---|---|
| 5강 특수 문자와 서식 문자 (0) | 2021.07.30 |
| 3강 변수 (0) | 2021.07.30 |
| 2강 Java 프로그램의 실행 구조 (0) | 2021.07.28 |
| 1강 Java 프로그래밍이란? (0) | 2021.07.28 |