Topic
Variable
Type
Type casting
What I Learned
변수(Variable)
- 특정 타입의 데이터를 저장하기 위해 시스템으로부터 할당받은 메모리 공간
타입(Type)
- 변수로 할당된 메모리 영역의 크기나 저장하는 방법을 결정하는 요소


참조형 변수(Reference variable)
- 참조형 변수는 Stack에 위치하면서, 그 값은 객체가 저장된 Heap의 주소를 가리키는 참조값입니다.
- 객체 데이터는 Heap에 저장되고, 참조형 변수는 그 객체를 가리키는 역할을 합니다.
Naming rules
- 대소문자가 구분되며 길이 제한이 없음
- 예약어 사용 불가
- 숫자로 시작할 수 없음
- 특수문자는
_, $만 허용
- 카멜 표기법을 주로 사용
주요 예약어(Reserved word)

변수의 초기화와 초기화 값
- 변수는 사용 전에 초기화해줘야 한다. (stack 변수)
- 객체의 멤버 변수는 초기화하지 않아도 기본값으로 초기화된다. (heap 변수)
상수
final [type] CONSTANT_VALUE = [value];
- 어퍼 스네이크 또는 파스칼 표기법를 주로 사용
var 키워드 (Java 10+)
- 지역 변수의 타입을 컴파일러가 자동으로 추론하도록 해주는 키워드
- 클래스의 멤버 변수에 사용 불가능
텍스트 블록 (Java 15+)
- 여러 줄의 문자열을
"""로 감싸서 복잡한 줄 바꿈이나 이스케이프 없이 간결하게 표현할 수 있는 문자열 표현 방식
데이터 오버플로우
- 타입의 사용 범위를 넘으면 오버플로우될 수 있습니다.
byte b = 127;
b += 1;
System.out.println(b);
형 변환(Type casting)
- 한 타입의 값을 다른 타입으로 변환하는 메커니즘
자동 형 변환 (Widening casting)
- 더 큰 데이터형으로 변환하는 경우 자동으로 형 변환
byte b = 10;
int i = b;
long l = i;
float f = l;
double d = f;
강제 형 변환 (Narrowing casting)
- 더 작은 데이터형으로 변환하는 경우 명시적 형 변환
- 데이터 손실이 발생할 수 있음
double d = 9.99;
int i = (int) d;
System.out.println(i);