기본형 데이터 타입(Primitive date type)
*데이터의 크기
정보처리기사 필기를 공부할 당시 공부했던 내용이지만 누군가가 비트는 뭐고 바이트는 무엇인지 물어본다면 제대로 답하지는 못할 것 같다. 프로그래밍을 공부하고 컴퓨터를 다루는 사람으로서 컴퓨터의 데이터의 크기에 대해서는 아주 기본적인 소양이니 정리를 해보자. 아래 표에서 볼 수 있듯이 컴퓨터에 저장되는 정보의 가장 작은 단위는 bit이다. 엄청 똑똑할 것 같은 컴퓨터가 0과 1로만 연산을 처리한다는 사실을 알았을때 상당히 신기해했던 기억이 있다.
여기서 0과 1이 bit다. 1bit는 0이나 1의 값을 가지게되는데 1byte는 bit보다 8배 큰 단위로 8bit를 의미한다.
점차 단위가 올라가면서 이름이 킬로바이트, 메가바이트, 기가바이트, 테라바이트로 바뀌는데 아랫단위의 2^10단위로 커진다.
우선 데이터의 크기는 여기까지 정리하고 추후에 진법을 공부할 때 다시한번 보도록하자!
*출처: 생활코딩 Java 데이터타입/데이터의 크기
기본형 데이터타입
*정수형(byte, short, int, long)
*출처: 생활코딩 Java 데이터타입/데이터의 크기
위의 표는 정수형데이터 타입의 리스트이다.
각각의 데이터타입은 메모리의 크기가 서로 다르다. 이것이 의미하는 것은 어떤 숫자를 저장하느냐에 따라 사용하는 메모리의 크기가
달라지는 것이 아니라 어떤 데이터타입으로 변수를 선언했느냐에 따라 사용하는 메모리의 크기가 달라진다는 것이다.
1 2 | long a = 12344351231; long b = 1; |
변수 a와 b가 가지는 메모리의 크기는 같을까? 아니면 다를까?
결론은 같다. 왜냐하면 변수에 저장되는 숫자의 크기는 다르지만 데이터타입은 long이기 때문에 메모리에 할당된 크기는 위의 표에서 나온 것처럼 8byte로 동일하다.
1 2 | int a = 12344; long b = 12344; |
그렇다면 변수 a와 b에 똑같은 숫자를 저장한다면 메모리의 크기는 같을까?
결론은 아니다. 변수 앞에 선언된 데이터타입은 각각 int와 long으로 메모리에 할당되는 크기는 서로 다르기때문이다.
즉 저장하는 숫자가 메모리의 크기에 영향을 미치는 것이 아니라 데이터 타입이 영향을 미친다는 점을 꼭 기억해두자!
결국, 변수에 들어올 수 있는 숫자의 최대의 크기를 잘 판단해서 데이터 타입을 지정해야 메모리의 용량을 아낄 수 있다. 내가 판단하기에는 요즘 컴퓨터의 사양이 좋아지고 처리 속도가 빨라짐에 따라 이것이 별 의미가 없어보이긴 하지만 이러한 내용을 알고 프로그래밍을 해야 좀더 최적화된 프로그램을 만들 수 있지 않을까라는 생각을 해본다.
*실수형(float, double)
실수형에는 float와 double이 있는데 보통 실수를 표현할 때에는 double을 사용한다.
*출처: 생활코딩 Java 데이터타입/데이터의 크기
*문자형(char)
자바에서는 문자와 문자열은 다르다. 문자는 글자하나를 의미하고, 문자열은 글자들의 집합을 의미한다.
문자형은 작은따옴표('')를 이용하여 한글자를 표현한다.
*출처: 생활코딩 Java 데이터타입/데이터의 크기
컴퓨터과학분야에서 리터럴이란, 소스 코드의 고정된 값을 대표하는 용어이다.
리터럴이란 일종의 값이라고 할 수 있는데 true, false, 10, 123.1, a 등 이런 값 자체를 의미한다.
각각의 기본형데이터타입을 입력하고 출력해보자.
*참고 : {*}helloworld 자바입문 기본형타입 / 생활코딩 자바 데이터타입