TIL
변수타입 심화(2024-07-23)
note994
2024. 7. 23. 11:26
문자와 문자열
문자와 문자열의 차이점을 알아보자
선언 관점에서의 차이점
문자(char)
문자 한개만 저장하며 홀따옴표를 사용해 값을 저장한다.
문자열(String)
문자 여러개를 문장형태로 저장하며 쌍따옴표를 사용해 저장한다.
저장 관점에서의 차이점
문자(char)
- 문자 뒤에 \0(널 문자)가 없다. 1byte만 쓰기 때문에 끝을 알기 때문이다.
문자열(String)
- 문장의 끝에 \0(널 문자)가 있다. 몇 개의 byte를 사용할지 모르기 때문에 끝을 표시하기 때문이다.
참조형
참조형 변수 = 주소형 변수
- 기본형 변수가 실제 값을 저장하는 공간이라면 참조형 변수는 실제 값이 아닌 원본값의 주소값을 저장한다.
- 그래서 참조형 변수는 주소형 변수라고 불러도 무방하다.
저장관점에서의 차이점
- 기본형 변수 = 원본 값이 Stack 영역에 있다.
- 참조형 변수 = 원본 값이 Heap 영역에 있다. Stack영역에는 따로 원본값의 Heap 영역 주소를 저장한다.
String a = "abc"를 예로 들면
원본 값 "abc"의 주소가 123 이라고 가정하면
"abc"의 주소 123이 Heap 영역에 존재하고 Stack에는 변수 a가 그 "abc"의 주소 123을 담고있는 상태가 된다.
입력 & 출력
입력
Java에서는 기본적으로 Scanner.in 객체의 next() 명령을 사용해 입력을 받는다.
출력
Java에서는 기본적으로 System.out 객체의 println() 명령을 사용해 출력한다.
비트 & 바이트
Byte는 8개의 bit로 구성되어 있다.
- Bit는 0과 1형태의 2진수로써 컴퓨터가 저장(표현)할 수 있는 최소 단위이다.
- 정수형 값은 10진수 숫자(0~10범위의 숫자)이며 2진수(0 ~ 1 범위)Bit로 저장 및 표현한다.
- 4개의 Bit를 사용해 16진수 숫자(0~F)를 2진수로 저장 및 표현한다.
Byte = 8bit
- Byte는 8개의 bit로 구성되어 있다.
- 10진수 숫자 5는 이진수로 101이다. 2진수는 2진법을 사용하여 숫자를 표현한다.
- 1 바이트는 8 비트로 구성되어 있으므로, 1 바이트 내에서 표현할 수 있는 숫자는 총 256가지이다(2^8 = 256). 이는 0부터 255까지의 숫자를 의미한다.
- 위의 예에서, 숫자 5는 1 바이트 내에서 8비트 이진수 00000101로 표현된다.
- 1 Byte 내에서 문자 변수의 경우만 Bit 2진수를 4자리씩 나눠 16진수로 저장(표현)한다.