[강의] Java 변수와 타입

Jerry·2025년 7월 9일

Topic

Variable
Type
Type casting

What I Learned

변수(Variable)

  • 특정 타입의 데이터를 저장하기 위해 시스템으로부터 할당받은 메모리 공간

타입(Type)

  • 변수로 할당된 메모리 영역의 크기나 저장하는 방법을 결정하는 요소

참조형 변수(Reference variable)

  • 참조형 변수는 Stack에 위치하면서, 그 값은 객체가 저장된 Heap의 주소를 가리키는 참조값입니다.
  • 객체 데이터는 Heap에 저장되고, 참조형 변수는 그 객체를 가리키는 역할을 합니다.

Naming rules

  1. 대소문자가 구분되며 길이 제한이 없음
  2. 예약어 사용 불가
  3. 숫자로 시작할 수 없음
  4. 특수문자는 _, $만 허용
  5. 카멜 표기법을 주로 사용

주요 예약어(Reserved word)

변수의 초기화와 초기화 값

  • 변수는 사용 전에 초기화해줘야 한다. (stack 변수)
  • 객체의 멤버 변수는 초기화하지 않아도 기본값으로 초기화된다. (heap 변수)

상수

  • final [type] CONSTANT_VALUE = [value];
  • 어퍼 스네이크 또는 파스칼 표기법를 주로 사용

var 키워드 (Java 10+)

  • 지역 변수의 타입을 컴파일러가 자동으로 추론하도록 해주는 키워드
  • 클래스의 멤버 변수에 사용 불가능

텍스트 블록 (Java 15+)

  • 여러 줄의 문자열을 """로 감싸서 복잡한 줄 바꿈이나 이스케이프 없이 간결하게 표현할 수 있는 문자열 표현 방식

데이터 오버플로우

  • 타입의 사용 범위를 넘으면 오버플로우될 수 있습니다.
byte b = 127;
b += 1;
System.out.println(b); // -128

형 변환(Type casting)

  • 한 타입의 값을 다른 타입으로 변환하는 메커니즘

자동 형 변환 (Widening casting)

  • 더 큰 데이터형으로 변환하는 경우 자동으로 형 변환
byte b = 10;
int i = b; // byte → int
long l = i; // int → long
float f = l; // long → float
double d = f; // float → double

강제 형 변환 (Narrowing casting)

  • 더 작은 데이터형으로 변환하는 경우 명시적 형 변환
  • 데이터 손실이 발생할 수 있음
double d = 9.99;
int i = (int) d; // 명시적 캐스팅 필요
System.out.println(i); // 출력: 9 (소수점 이하 손실)
profile
Backend engineer

0개의 댓글