본문 바로가기
  • 소소한 개발자 이야기
Software/너가 쓰던 냄비 받침(자바)

Chapter 01 - 4 : 자료형

by Siwan_Min 2020. 9. 10.
728x90

자료형

기본형 :
- 자바 언어에서 기본적으로 제공해 주는 자료형
- 메모리의 크키가 정해져 있음
- 정수형, 문자형, 실수형, 논리형

 

참조형 :
- 클래스 자료형
- JDK에서 제공되는 클래스와 프로그래머가 정의하는 클래스 
- 클래스에 따라 사용하는 크기가 다름 ex) String, Student....

 


정수 타입

정수 타입의 경우 byte, char, short, int, long 이 있습니다. 
크기는 8, 16, 16, 32, 64비트 입니다. 

char 또한 기본 타입에선 정수형입니다. 

 

실수 타입의 경우 float, double 두 타입이 있고 크기는 각각 32, 64비트 입니다.

 

논리형은 boolean 이있고, 8비트, 값은 true와 false 두 가지 값만을 갖습니다. 

 

이런 게 있다고 합니다. 외울 필요는 저 범위를 외워야 할 필요는 크게 없습니다만, 가장 기초적인 것이기 때문에 두 번 정도는 읽고 다른 블로그나 서적 내용을 참조해 주세요.

 


byte 타입

 


long 타입

long 타입은 수치가 큰 데이터를 다루는 프로그램에서 주로 사용됩니다. 대표적인 예가 은행이나 과학과 관련된 프로그램들이 있습니다. 

 

기본적으로 컴파일러는 정수 리터럴을 int 타입으로 간주합니다. 그래서 정수 리터럴이 int 타입의 허용 범위를 초과할 경우, long 타입임을 컴파일러에게 알려주어야 합니다.

 

방법은 간단한데, 정수 리터럴 뒤에 대문자 L을 붙이면 됩니다. 


char 타입

하나의 문자를 작은따옴표(')로 감싼 것을 문자 리터럴이라고 합니다. 문자 리터럴은 유니코드로 변환되어 저장됩니다. 유니코드는 세계 각국의 문자를 2byte로 표현할수 있는 숫자로 맵핑한 국제 표준 규약입니다. 자바는 이러한 유니코드를 저장할 수 있도록 2byte 크기인 char 타입을 제공합니다. 


String 타입

작은따옴표로 감싼 문자는 char 타입 변수에 저장되어 유니코드로 저장되지만, 큰따옴표(")로 감싼 문자 또는 여러 개의 문자들은 유니코드로 변환되지 않습니다. 따라서 다음은 잘못 작성된 코드입니다. 

잘못된 코딩 예

자바에서 큰따옴표(")로 감싼 문자들을 문자열이라고 부릅니다. 작은따옴표(')와 큰따옴표(")는 컴파일러가 문자 리터럴과 문자열 리터럴을 구별하는 기호로 사용됩니다. 문자열을 변수에 저장하고 싶다면 다음과 같이 String 타입을 사용해야 합니다. 

올바른 코딩 예

참고로 String 타입은 기본 타입이 아닙니다. String은 클래스 타입으로, 나중에 상세히 설명하겠습니다. 

 

문자열 내부에 역슬래시(\)가 붙은 문자를 사용할 수 있는데, 이것을 이스케이프 문자라고 합니다. 이스케이프 문자를 사용하면 문자열 내부에 특정 문자를 포함시킬 수 있습니다. 

이스케이프 문자 

 


실수 타입

소수점이 있는 실수 리터럴을 저장할 수 있는 타입에는 floatdouble이 있습니다. 

자바는 실수 리터럴을 기본적으로 double 타입으로 해석하기 때문에 double 타입 변수에 저장해야 합니다. 실수 리터럴을 float 타입 변수에 저장하면 컴파일 에러가 발생합니다. 

 

실수 리터럴을 float 타입으로 저장하고 싶다면 리터럴 뒤에 소문자 f나 대문자 F를 붙여 컴파일러가 float 타입임을 알 수 있도록 해야 합니다. 

 

-float 타입은 소수점 이하 7자리 허용
-double 타입은 소수점 이하 15자리 허용

 

float과 double 타입


논리 타입

자바는 참과 거짓을 의미하는 논리 리터럴로 true와 false를 사용합니다. 논리 리터럴은 다음과 같이 1byte 크기의 boolean 타입 변수에 저장할 수 있습니다.

 

boolean 타입 변수는 주로 두 가지 상태값에 따라 조건문과 제어문의 실행 흐름을 변경하는 데 사용합니다.

 

다음 코드를 보면 stop 변수가 true 값을 가지고 있기 때문에 if 블록이 실행되어 "중지합니다." 가 출력됩니다. 만약 stop 변수가 false 값을 가지고 있다면 else 블록이 실행되어 "시작합니다."를 출력합니다.

 

728x90

'Software > 너가 쓰던 냄비 받침(자바)' 카테고리의 다른 글

Chapter 01-05: 타입 변환  (0) 2021.03.01
Chapter 01 - 3 : 변수  (0) 2020.08.16
Chapter 01 - 2 : 또 Hello world  (0) 2020.08.14
Chapter 01 - 1 : 완전 완전 기초  (0) 2020.08.14
Introduction  (0) 2020.08.13

댓글