다라다라V
article thumbnail
728x90
반응형

차의 종류에 따라 기능과 마시는 방법, 활용 등이 다릅니다. 컴퓨터 역시 자료형에 따라 기능과 처리 가능한 연산 등이 달라집니다.

자료형(Data Type)은 컴퓨터 내부의 데이터를 식별하는 분류입니다. 컴퓨터 내부에서는 자료형에 따라 처리되는 연산, 수행 가능한 명령들, 데이터의 의미, 저장 방식 등이 결정됩니다.

이번 장에서는 자바(Java)의 자료형인 기본 자료형(Basic Type) 참조 자료형(Reference Type)에 대해서 배우고, 자료형을 변환하는 형변환(Type Casting)에 대해 배우겠습니다. 

📌 자료형

📚 자료형

자바의 자료형은 크게 두 가지로 나누어질 수 있습니다.

📃 기본 자료형 (Basic Type / Primitive Type)

-  하나의 값을 나타내는 데이터 유형입니다.

  • 정수형 : byte, short, int, long
  • 실수형 : float, double
  • 문자형 : char
  • 논리형 : boolean

 

📃 참조 자료형 (레퍼런스 타입, Reference Type)

- C언어의 포인터와 비슷한 개념이지만 실제 주소값을 가지지는 않습니다.
  또한 C언어의 배열이나 문자열과는 다르게 무조건 동적 할당됩니다.

- 실제 값 혹은 값들의 집합에 대한 참조(위치)를 나타내는 데이터 유형입니다.

  • 배열형 : 현재는 배열에 대한 주소 값이라고 생각할 것
  • 클래스형 : 현재는 객체에 대한 주소 값이라고 생각할 것
  • 인터페이스형 

📚 기본 자료형의 크기

종류 데이터 타입 크기(bit) 데이터 표현 범위 사용 예시
정수형 byte 8 -2^7  ~  2^7   -1 byte b = 22;
short 16 -2^15  ~  2^15   -1 short s = 22;
int 32 -2^31   ~  2^31   -1 int i = 22;
long 64 -2^63   ~  2^63   -1 long l = 22;
실수형 float 32 -3.4e-38  ~  3.4e+38 float f = 1.65F;
double 64 -1.7e-308  ~  1.7e+308 double d = 1.65;
문자형 char 16 0  ~  2^16 char c = "R"
논리형 boolean 1(8) true  또는  false boolean flag = true;

📚 정수형 (byte, short, int, long)

  • 다양한 길이를 갖는 정수값을 표현함
  • 정수 상수 다음에는 L 또는 l (소문자 L) 을 붙일 수 있음
  • int형을 기본으로 사용함

📚 실수형 (float, double)

  • float형은 숫자 뒤에 F 또는 f를 작성해야함
  • double형은 숫자 뒤에 D 또는 d를 작성할 수 있지만 일반적으로는 생략
  • double형을 기본으로 사용함

📚 문자형 (char)

  • UTF-16 규격의 16비트(2바이트) 유니 코드로 한 문자를 나타냄
    2바이트로 표현되는 한글을 표현할 수 있음
  • 문자열은 기본 타입에 해당하지 않음, 자바 라이버러리에서 제공하는 String 클래스를 이용함
  • 특수문자는 역슬래쉬(\) 함께 하나의 문자를 결합하여 표현함

📚 논리형 (boolean)

  •  거짓의 논리 값을 표현하는 true false 값이 있음
  • 변수에 직접 치환하거나 조건문에 사용함

📚 참조 자료형

  • 메모리 상의 배열 주소나 객체가 저장된 주소를 갖고 있는 자료형
  • C/C++의 포인터와 비슷한 개념이지만 메모리 주소를 가지지 않는다는 점에서 다름
  • 일반적인 변수처럼 사용하지만 함수와 같이 특별한 경우에는 처리가 다름
    자바에는 명시적인 포인터는 없음
  1. 배열형
  2. 클래스형
  3. 인터페이스형

참조자료형과 포인터에 관한 비교는 다음 포스트를 참고해주시길 바랍니다.

(링크 참고 : [JAVA] # 포인터 VS 참조 자료형 https://jiyesmoon.tistory.com/11)

 

[JAVA] # 포인터 VS 참조 자료형

자료형에 대한 포스트에서 JAVA의 참조 자료형은 C언어의 포인터와 비슷한 개념이라고 하였다. JAVA의 참조 자료형이 C언어의 포인터와 다른 점은 무엇일까? (링크 참고 : [JAVA] 03. 자바 프로그램의

jiyesmoon.tistory.com


📌 형변환(Type Casting)

한 자료형을 다른 자료형으로 변환시킬 수 있습니다. 특정 자료형의 값을 다른 형태의 변수에 배정할 때 사용됩니다.

 

📚 묵시적 형 변환 (Implicit Conversion)

표현식 안에 서로 다른 자료형인 수가 피연산자로 나타날 경우, 더 넓은 범위를 표현할 수 있는 자료형으로 자동 형 변환이 이루어집니다.

  • char형과 short형은 int형으로 변환
  • float형은 double형으로 변환
  • 대입문에서는 대입되는 변수(등호 왼쪽)의 변수형으로 변환

📚 명시적 형변환 (Explicit Conversion)

프로그래머가 의도적으로 지정된 자료형을 다른 자료형으로 바꾸고 싶은 경우 사용합니다.

  • (새로운 자료형) 표현식      ex) (double) sum
  • 기존의 표현식 자체의 자료형이 바뀌지 않고, 결괏값을새 자료형으로 반환시키는 연산

📚 확대 형변환 / 축소 형변환

  • 확대 형변환 : 값의 손실 없이 자동으로 컴파일러에 의해 오류 없이 묵시적 변환
                        : 서로 다른 자료형의 피연자들의 연산이 이루어질 경우 이루어짐
  • 축소 형변환 : 데이터의 훼손을 불러일으키므로 명시적인 형변환 구문이 필요
반응형
profile

다라다라V

@DaraDaraV

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!