[Must Have Java][Chapter 03] 변수, 상수, 자료형의 형변환

허다람·2024년 5월 8일
post-thumbnail

[Must Have] 이재환의 자바 프로그래밍 입문 책을 읽고 정리한 글입니다.

💡 학습 목표
변수와 상수의 개념을 확장해보자.
자료형의 형변환이 무엇인지 알아보자.

1. 변수

값이 변하는 수를 말한다.

1.1 변수의 이해

int num = 1;

위 코드에 대한 컴퓨터 동작은 다음과 같다.

  1. 자료형이 int이니 메모리에 주소 네 개를 확보해 공간을 비워둔다.
  2. 십진수 1을 이진수로 변경해서 주소에 저장한다.
  3. 주소를 변수 num에 기억시킨다.
System.out.print(num);

위 코드에 대한 컴퓨터 동작은 다음과 같다.

  1. num 변수의 값을 메모리에서 찾아온다.
  2. 찾아낸 메모리의 시작 위치로 찾아간다.
  3. num 변수는 int형이기 때문에 4바이트를 읽는다.
  4. 10진수로 바꿔서 숫자로 반환한다.
    (char형이면 유니코드표를 보고 디코딩해서 문자로 알려준다.)

1.2 변수명 짓는 방법

제약 사항

  • 변수의 이름은 숫자로 시작할 수 없다.
  • $와 _ 이외의 다른 특수문자는 변수의 이름에 사용할 수 없다.
  • 키워드는 변수의 이름으로 사용할 수 없다.
    ex) public, class, int, double 같은 단어들을 말하낟.

권장 사항

  • 소문자로 시작한다.
    클래스의 이름이 대문자로 시작하는 것과 구분하기 위함
  • 변수에 사용되는 데이터를 유추할 수 있는 이름으로 만들어준다.
    여러 단어를 사용할 땐 카멜 표기법을 이용하여 만들어도 된다.

2. 상수

상수는 변하지 않는 값을 의미한다.
자바에서는 리터럴 상수와 final 상수로 두 가지 종류가 있다.

2.1 리터럴

문자 그대로의 값을 의미한다. 문자 자체에 의미가 있어 누구나 공통으로 그 의미를 알고 의미를 변경할 수 없다.
지금까지 변수에 대입하던 모든 숫자, 문자, 논리값(true, false)들을 말한다.

2.2 final 상수

상수를 프로그래머가 임의로 만들 수 있다. 자바에선 final 키워드를 사용하여 상수를 만든다.
final 상수 이름은 대문자를 사용하여 만든다. 언더바 "_"를 이용해 단어를 구분한다.

final double PI = 3.14;
final int MAX_SIZE = 100;
  • 모두 대문자라 첫 글자가 소문자인 변수의 이름과 구분된다.
  • 모두 대문자라 단어의 첫 글자만 대문자인 클래스의 이름과 구분된다.

final 상수는 값을 대입한 이후에는 다른 값을 대입받아 바꿀 수 없다. 처음에 final 상수를 만들 때 값을 지정하지 않았다면 한 번을 넣어 줄 수 있다.

3. 자료형의 형변환

3.1 상수값 대입 시 형변환

형변환을 말하는 표현

주최용어 1용어 2
컴파일러(가 자동으로)자동 형변환묵시적(암묵적) 형변환
프로그래머(가 직접)강제 형변환명시적 형변환

3.2 연산 시 형변환

연산 시 다른 자료형이 입력되면 큰 쪽에 맞춰서 먼저 형 변환을 한 후 계산을 한다.

핵심 요약

  • 변수는 메모리 공간을 기억하는 용도로 사용된다.
  • 자바의 상수에는 리터럴 상수와 final 상수가 있다.
  • 자바 컴파일러는 정수형 리터럴 상수를 int형으로 처리한다.
  • 자바 컴파일러는 실수형 리터럴 상수를 double형으로 처리한다.
  • 변수에 데이터를 대입할 때와 데이터끼리의 산술 연산을 할 때 형변환이 일어난다.
profile
나 java봐라

0개의 댓글