개발야옹

[JAVA] 데이터 타입 본문

Language/JAVA

[JAVA] 데이터 타입

kitez 2023. 10. 17. 20:06

기본 데이터 타입

자바의 기본 데이터 타입은 8가지가 있다.

데이터 타입 데이터 타입 크기
논리 타입 boolean 1byte(8 bit) boolean isPassed = true;
문자 타입 char 2byte(16 bit) char grade ='A';
정수 타입 byte 1byte(8 bit) byte year = 3;
short 2byte(16 bit) short javaScore = 17;
int 4byte(32bit) int sumScore = 120045;
long 8byte(64bit) long currentTime = 123456789L;
실수 타입 float 4byte(32bit) floag javaAvg = 78.25F;
double 8byte(64bit) double examAvg = 76.234522;

 

얼핏 보면 데이터의 종류도 많고 복잡해 보이지만 정수 타입은 int와 loing만 사용하고, 실수 타입은 double만 사용하기 때문에 실제로 그렇게 복잡하지 않다.

 

논리 타입

논리 타입은 booean이라고 쓰고 '불리언' 이라고 읽는다. 논리 타입은 기본 타입 중 유일하게 1byte 메모리 공간만 사용한다. 중요한 것은 논리 타입의 변수가 1 이나 0이 아닌, 참 또는 거짓이라는 의미의 true나 false형태의 값을 가진다는 것이다. 참고로 논리 타입의 변수 이름은 'is'로 시작하는 것이 일반적이다.

 

boolean isPassed = true;
boolean isPassed = TRUE; // 에러
boolean isPassed = False; // 에러

 

문자 타입

문자 타입은 'char'라고 쓰고 '캐랙터'라고 읽는다. 문자 타입은 2byte의 메모리 공간을 사용하는 데이터 타입이며, 한 글자만을 값으로 가지는 변수를 선언할 때 사용한다. 

자바에서 하나의 문자는 작은따옴표(')로 감싸서 표현한다. 다음은 한 글자를 저장하는 문자 타입의 변수를 선언하고 초기화하는 문구이다.

char grade = 'A';

문자 타입과 많이 혼동하는 것이 문자열 (String)인데, 문자열은 말 그대로 여러 개의 문자가 이어 붙어서 열거된 형태의 데이터를 의미한다. 문자열은 작은따옴표가 아닌 큰따옴표(")를 사용하며, 한 글자만 표현하는 문자(char) 타입과 전혀 다른 데이터 타입이다.

따라서 다음의 두 변수는 똑같이 A라는 한 글자를 할당했지만 전혀 다른 타이브이 변수로 처리된다.

char grade = 'A'; // 문자 타입
String classNumber = "A"; // 문자열 타입

다음 코드는 문자 타입의 변수에 전혀 다른 종류의 타입인 문자열을 할당하려고 했기 때문에 에러가 발생한다.

char grade = "B";

 

변수와 예약어

자바에서 예약어는 특별한 목적을 위해 미리 정의해 놓은 단어를 의미한다. JVM은 소스 코드를 처리하는 과정에서 예약어를 만나면 예약어에 해당하는 약속된 기능을 수행한다. 예를 들어 정수 타입의 데이터를 의미하는 int라는 예약어를 만나면 JVM은 정수를 저장하기 위해 32bit 메모리 공간을 확보하는 식이다. 그렇기 때문에 변수 이름으로 예약어를 사용할 수 없는 것이다.

 

 

728x90

'Language > JAVA' 카테고리의 다른 글

[JAVA] 이름이 있는 break  (0) 2023.10.18
[JAVA] 데이터 타입 변환  (0) 2023.10.18
[JAVA] 연산자  (1) 2023.10.17
[JAVA] 자바 변수  (0) 2023.10.17
[JAVA] 자바 클래스의 기본 구조  (0) 2023.10.17