Language/Java

[Java의 정석] 2-2. 변수의 타입

i-m-okay 2024. 10. 21. 22:17

Java의 정석을 읽으며 Java라는 언어의 기초에 대해 차근차근 탐색해보는 시간을 가져보기로 했다.

변수는 어떤 값을 대입해줄지에 따라 값의 타입을 정해주면 된다.

기본형과 참조형

Java에서 자료형은 '기본형', '참조형' 이렇게 두 가지로 크게 나눌 수 있다.

  • 기본형 : 실제 값 저장
  • 참조형 : 주소 값 저장
    (참조형 간 연산 불가능)

 

기본형(primitive type; 원시형)

  • 논리형 - boolean
  • 문자형 - char
  • 정수형 - byte, short, int(기본), long
  • 실수형 - float, double(기본)

 

책에 기본형의 크기를 외우는 문장들이 나와있다.

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

 

타입이 달라도 저장 범위가 넓은 타입에 좁은 타입의 값을 저장하는 것은 허용됨



참조형(reference type)

클래스를 작성하는 것도 새로운 참조형을 만드는 것이라고 할 수 있다.

  • 참조변수 초기화 방법 예시 : Date today - new Date();

 

상수와 리터럴

  • 상수 : 값을 저장할 수 있지만, 다른 값으로 변경할 수는 없다.
    • 반드시 선언과 동시에 초기화해야 함.
    • final을 맨 앞에 붙여주면 상수가 됨.
    • 이름은 모두 대문자(컨벤션).
  • 리터럴 : 우리가 알고 있던 상수의 다른 이름일 뿐
    • 값 자체를 의미(숫자 자체.)

 

문자/문자열 리터럴

두 문자 이상은 큰 따옴표 -> "문자열 리터럴" (String 타입)

  • 문자열 리터럴
    • 아무런 문자를 안넣는 것("") 허용
    • 원래는 String도 클래스라서 new 연산자 사용할 수 있음.
    • 문자열과 같이 +(덧셈) 연산을 하면 다른 타입도 문자열로 바꿔줌(결합 순서 중요)
  • 문자 리터럴
    • 공백문자로 초기화 해야 함.(''불가능)