의견.png

자료형

위키원
tjswn0425 (토론 | 기여)님의 2020년 8월 7일 (금) 16:57 판 (참조 자료형(Reference DataType))
이동: 둘러보기, 검색

자료형(資料形)이란 데이터 타입(Data Type)으로도 불리는데, 이는 프로그래밍 언어에서 여러 종류의 데이터를 식별하는 분류로써, 해당 자료형에 대한 가능한 값, 해당 자료형에서 수행을 마칠 수 있는 명령들, 데이터의 의미, 해당 자료형의 값을 저장하는 방식을 결정한다. [1]

개요

자료형에는 불린(Boolean), 정수(int), 문자(char), 문자열(String), 부동소수점(Floating Point) 등이 있다. 자료형이 정해지지 않은 경우 void를 사용한다.

특징

분류

자바 자료형의 분류[2]

기본 자료형

기본 자료형(Primitive DataType)은 값을 가지고 있는 변수 즉, 선언된 변수에 실제 값이 저장된다. [2] [3] Java 언어에서 제공하는 기본 자료형에는 하나의 문자를 표현하는 char, 표현 범위에 따라 정수를 표현하는 byte,short, int, long, 표현 범위와 오차 범위에 따라 실수를 표현하는 float, double을 제공한다. [4]

1. 문자형
  • 정의

문자형은 문자를 저장하기 위한 변수를 선언할 때 사용되며, char 타입은 하나의 문자만 저장할 수 있다. char 타입을 표현할 수 있는 방법은 문자, ASCII코드, 특수문자(유니코드 포함)으로 3가지 방법이 있다. 가장 쉽게 사용할 수 있는 방법은 한 문자로 표현하는 것이다. [5]

  • 종류

① char : char은 java의 자료형 중에서 유일하게 unsigned인 값의 범위 중에서 음수가 없는 자료형이다. 유니코드를 도입하여 2byte의 범위로 이뤄져 있다. [6]

< 문자형 > [4]
예약어 메모리 크기 디폴트 값 표현 범위
char 2 byte '\0' 0 ~ 65535
  • 표현 방법[5]

1) 한 문자로 표현 : 작은 따옴표 사이에 출력할 한 문자를 넣는다.

char x = 'y';
System.out.println(x);
[ 출력값 ] 
>> y

2) ASCII코드로 표현 : ASCII코드에 해당하는 10진수 숫자로 표현한다.

char x = 65;
System.out.println(x);
[ 출력값 ]
>> A
ASCII 코드표[5]

3) 특수문자로 표현 : 백슬러시(\) 다음에 특수 기호를 붙여서 표현한다.

System.out.println("\"Java\"");
[ 출력값 ]
>> "Java"
< 특수 문자 > [5]
특수문자 문자 표현법
tab \t
backspace \b
form feed \f
new line \n
carriage return \r
역슬래시(\) \\
작은 따옴표(') \'
큰 따옴표(") \"
유니코드(16진수) \u유니코드
2. 숫자형
1) 정수형
  • 정의

정수형은 Java 언어에서는 정수를 표현하기 위해 byte, short, int, long을 제공한다. [4]

① byte : byte는 정수형 자료 중 가장 작은 범위의 수치를 저장하는 자료형이다. 주로 배열이나 데이터 전송을 위해 많이 사용되는데 Java에서는 반드시 byte의 범위인 -128 ~ 127 사이의 수만 사용해야 한다.

② short : short는 C언어와 같이 2byte 메모리 체계의 int 자료형과 호환성을 위해 많이 사용하는 자료형이다. 일반적으로는 사용될 수 있지만 정수형 자료형으로는 잘 사용되지 않는 자료형이다.

③ int : int는 정수형 자료형 중에서 대표적인 자료형이다. 모든 언어에서 기본이 되는 자료형으로써, 모든 정수 수치의 기본 구조가 된다. 또한 정수 연산시에 발생하는 결과값은 모두 int형으로 출력된다.

④ long : long은 int보다 큰 정수형 데이터를 저장하기 위한 목적으로 만들어진 자료형이다. long을 초기화 할 경우에 현재 시스템에 int보다는 크다는 사실을 인식시키기 위해 소문자 'l'이나 대문자 'L'을 붙여야한다.

< 정수형 > [4]
예약어 메모리 크기 디폴트 값 표현 범위
byte 1 byte 0 -128 ~ 127
short 2 byte 0 -32768 ~ 32767
int 4 byte 0 -2의 31승 ~ 2의 31승
long 8 byte 0 -2의 63승 ~ 2의 63승
  • 표현 방법[7]

1) 따옴표는 사용하지않는다. 정수형 자료형이기 때문에 실수값을 대입하면 오류가 발생한다.

EX) 정수형 자료형 중 int 타입
int x = 10;
int y = 7.18;
System.out.println(x);
System.out.println(y);
[ 출력값 ] 
>> 10
>> int 타입은 정수형 자료형이기 때문에 실수값을 변수에 대입했을땐 오류가 발생한다.
2) 실수형
  • 정의

실수형은 Java 언어에서는 실수를 표현하기 위해 float, double을 제공한다. [4]

① float : float은 4byte 범위를 나타낼 수 있지만 정수형보다는 훨씬 많은 범위를 포함하고 있다. 정수는 0, 1, 2 ... 순이지만 실수는 0, 0.1, 0.01 ... 순이기 때문이다.

② double : double은 실수형의 기본 자료형으로 8byte 범위를 나타낼 수 있다. 가장 큰 자료형으로 원하는 만큼의 수를 지정하여 사용할 수 있는 자료형이다.

< 실수형 > [4]
예약어 메모리 크기 디폴트 값 표현 범위
float 4 byte 0.0 -3.4E38 ~ 3.4E38
double 8 byte 0.0 -1.7E308 ~ 1.7E308
  • 표현 방법 [7]

1) 따옴표는 사용하지않는다. 실수형 자료형이기 때문에 정수값을 대입해도 오류가 발생하지않는다.

EX) 정수형 자료형 중 double 타입
double x = 10;
double y = 7.18;
System.out.println(x);
System.out.println(y);
[ 출력값 ] 
>> 10.0 // 정수값은 실수값에 포함이기 때문에 오류없이 출력된다.
>> 7.18
3. 논리형
  • 정의

논리형은 Java 언어에서는 참과 거짓을 표현하기 위해 boolean을 제공한다. 주로 제어문이나 반복문의 조건식에서 사용된다. [4]

  • 종류

① boolean : boolean은 논리형식인 참과 거짓으로 표현되는 자료를 저장하고, 작은 따옴표나 큰 따옴표는 true/false에 사용해서는 안된다. [6]

< 문자형 > [4]
예약어 메모리 크기 디폴트 값 표현 범위
boolean 1 bit false true or false
  • 표현 방법

1) 변수값은 true나 false로만 저장해야한다. [4]

boolean x = true;
System.out.println(x);
[ 출력값 ] 
>> true

2) 제어문이나 반복문의 조건식으로 사용할 수 있다.

boolean x;   // 디폴트 값 : false
x = (8%2 == 0);
System.out.println(x);
if(x) {
   System.out.println("짝수");
} else(x) {
   System.out.println("홀수");
}
[ 출력값 }
>> true
>> 짝수

참조 자료형

참조 자료형((Reference DataType)은 주소를 가지고 있는 변수 즉, 선언된 변수에 인스턴스에 대한 주소값이 저장된다.

클래스
인터페이스
배열

활용

각주

  1. 자료형〉, 《위키백과》
  2. 2.0 2.1 자바 자료형〉, 《퍼그의 전초기지》
  3. 자바!변수(기본자료형, 참조자료형, 자료의 형변환)〉, 《개인블로그》, 2017-04-12
  4. 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 기본 자료형〉, 《언제나휴일(EHPUB.CO.KR)》
  5. 5.0 5.1 5.2 5.3 문자형-char〉, 《개인블로그》, 2017-11-18
  6. 6.0 6.1 6.2 6.3 JAVA의 기본 자료형(1)〉, 《개인블로그》, 2007-04-30
  7. 7.0 7.1 정수와 실수〉, 《[바로실습]생활코딩-자바(JAVA)》

참고자료

같이 보기


  의견.png 이 자료형 문서는 프로그래밍에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.