개발 무지렁이

[Java] 메모리번지와 변수 본문

Backend/자바

[Java] 메모리번지와 변수

Gaejirang-e 2023. 2. 20. 15:01

메모리는 수많은 번지들로 구성된 데이터 저장공간이다.


변수는 메모리 번지에 붙여진 이름이다.

⚠️ 자바 소스파일명(클래스명)과 변수명을 작성할 때, 캐멀(camel)스타일로 작성한다.

변수 선언과, 데이터 타입


⚠️ 데이터 타입에 따라 메모리 할당크기와, 값의 범위가 달라진다

< 자바의 기본타입 >
(1) 정수타입 => byte(1byte), char(2byte), short(2byte), int(4byte), long(8byte)
(2) 실수타입 => float(4byte), double(8byte)
(3) 논리타입 => boolean


❗char가 정수타입인 이유
: 문자리터럴(작은따옴표로 감싼)은 유니코드(정수)로 변환되어 저장
-> 리터럴이란 프로그래머가 직접 입력한 값을 의미한다.
-> 유니코드란 세계각국의 문자를 0 ~ 65535 숫자로 매핑한 국제 표준 규약을 말한다.
-> 큰 따옴표로 감싼 문자들은 유니코드로 변환되지 않는다.(문자열을 의미)

변수 선언시가 아닌, 변수 초기화 시에 메모리가 할당된다.


초기화되지 않는 변수를 연산식에 사용할 경우,
'The local variable value may not have been initialized.' 컴파일 에러 발생.
Comments