변수 - variable (Java)

rivermt·2023년 8월 24일
0

JAVA

목록 보기
7/9

기본형(primitive type)과 참조형(reference type)

기본형

  • 논리형
    • boolean : 1 byte
  • 문자형
    • char : 2 byte
  • 정수형
    • byte : 1 byte
    • short : 2 byte
    • int : 4 byte
    • long : 8 byte

      int는 CPU가 가장 효율적으로 처리 가능
      메모리를 절약하려면 byte or short를 사용하자

  • 실수형
    • float : 4 byte
    • double : 8byte

boolean은 true, false 두 가지만 표현하면 되므로 1 byte
char 은 자바에서 유니코드 (2 byte 문자체계)를 사용하므로 2 byte
byte 는 1 byte
int(4 byte)를 기준으로 short는 짧아서 2 byte long은 길어서 8 byte
float는 실수값을 부동소수점으로 저장
double은 float보다 두배의 크기

상수(constant)와 리터럴(literal)

상수

상수는 변수와 마찬가지로 '값을 저장할 수 잇는 공간' 이지만 , 변수와 달리 한 번 값을 저장하면 다른 값으로 변경할 수 없다.
-> 그래서 키워드가 final이다.
(JDK 1.6부터 상수를 선언과 동시에 초기화 하지않고 사용 시 초기화 하면 되도록 바뀌었지만 선언과 동시에 초기화하는 습관을 들이자!)

리터럴

원래는 12, 123 'A'와 같은 값들이 '상수' 이지만 프로그래밍에서는 상수를 저장공간으로 정의 하였기 때문에 이와 구분하기 위해 리터럴이라는 용어를 사용한다.

  • variable : 하나의 값을 저장하기 위한 공간
  • constant : 값을 한 번만 저장할 수 있는 공간
  • literal : 그 자체로 을 의미하는 것
/**
변수 : price
상수 : MAX_PRICE
리터럴 : 1000, 10000
**/
int price = 1000;
final int MAX_PRICE = 10000;

상수가 필요한 이유?

-> 리터럴에 '의미있는 이름'을 붙여서 코드의 이해와 수정을 쉽게 만든다. (유지보수하기 용이해진다.)

문자 리터럴 && 문자열 리터럴

'A'와 같이 작은 따옴표로 문자 하나를 감싼 것을 '문자 리터럴'이라고 한다.
두 문자 이상의 경우 큰 따옴표로 감싸야 하며 이를 '문자열 리터럴' 이라고 한다.

char alp = 'K';
String name = "Gangsan"; 

문자열 리터럴은 ""안에 아무것도 넣지 않는 빈 문자열 (empty string)을 허용하지만
문자 리터럴은 반드시 ''안에 하나의 문자가 있어야 한다.

String str = ""; // ok empty string
char ch = ''; // error
char ch = ' '; // ok 공백문자로 초기화
profile
화이팅!!

0개의 댓글