Notice
Recent Posts
Recent Comments
Link
250x250
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Archives
Today
Total
관리 메뉴

공부해보잠

데이터 타입 본문

자격증/정보처리

데이터 타입

heejk 2025. 2. 9. 00:34
데이터 타입 (Data Type) 정리

데이터 타입(Data Type)이란 변수(Variable)에 저장될 데이터의 형식을 정의하는 것이다.
프로그래밍 언어에서 변수에 값을 저장하기 전에 어떤 형식의 값을 저장할지 지정해야 하며, 이를 데이터 타입 선언이라고 한다.
데이터 타입을 올바르게 지정하면 메모리를 효율적으로 사용하고, 프로그램의 오류를 방지할 수 있다.

 

주요 데이터 타입 정리

유형 기능 예제
정수 타입 (Integer Type) 소수점이 없는 정수를 저장할 때 사용 1, -10, 100
부동 소수점 타입 (Floating Point Type) 소수점 이하의 실수를 저장할 때 사용 0.123, 10.5, -3.14
문자 타입 (Character Type) 단일 문자를 저장할 때 사용 
작은따옴표(') 안에 표현
'A', 'a', '7'
문자열 타입 (Character String Type) 문자열을 저장할 때 사용 
큰따옴표(") 안에 표현
"Hello", "123"
불리언 타입 (Boolean Type) 참(True) 또는 거짓(False)을 저장할 때 사용 true, false
배열 타입 (Array Type) 같은 타입의 여러 값을 저장할 때 사용 
값들을 중괄호({})로 구분하여 저장
{1, 2, 3, 4, 5}

정수형 (Integer Type)

  • 정수를 표현하는 타입으로, 양수, 0, 음수를 저장할 수 있다.
  • 메모리 크기에 따라 다양한 정수형이 있으며, short, int, long 등이 있다.
  • 일부 언어(C, Java 등)에서는 unsigned 키워드를 사용하여 음수가 없는 정수형도 사용 가능.

부동 소수점형 (Floating Point Type)

  • 소수점이 있는 실수를 저장하는 타입.
  • 컴퓨터는 실수를 근사값으로 저장하기 때문에 부동 소수점 오차가 발생할 수 있음.
  • 보통 float, double 두 가지 타입이 있으며, double이 더 정밀한 값을 저장 가능.

문자형 (Character Type)

  • 단일 문자 하나만 저장할 수 있다.
  • 'A', 'b', '9' 등의 값이 문자형으로 저장될 수 있다.
  • 일부 언어에서는 유니코드(Unicode) 를 지원하여 다양한 언어의 문자도 표현 가능.

문자열형 (String Type)

  • 여러 개의 문자를 연속적으로 저장할 수 있다.
  • 보통 ""(큰따옴표) 안에 문자를 나열하여 표현한다.
  • 문자열은 문자(char)들의 배열(Array)로 저장되며, 길이를 가질 수 있다.

불리언형 (Boolean Type)

  • 참(true) 또는 거짓(false) 값만 저장 가능.
  • 논리 연산(&&, ||, !)에서 주로 사용된다.
  • 조건문(if, while 등)에서 활용되며, 0은 거짓, 0이 아닌 값은 참으로 해석되기도 함.

배열형 (Array Type)

  • 같은 데이터 타입의 여러 개의 값을 저장할 때 사용.
  • 데이터를 [] 또는 {}로 묶어서 표현 ({1, 2, 3, 4}).
  • 배열은 인덱스(0부터 시작)를 사용하여 요소에 접근 가능.

열거형 (Enumeration Type, Enum)

  • 몇 개의 정해진 값들 중 하나를 선택하는 데이터 타입.
  • 예: enum Color { RED, GREEN, BLUE };

포인터형 (Pointer Type)

  • 특정 메모리 주소를 저장하는 타입. (C, C++에서 사용됨)

구조체 (Struct Type) 및 클래스 (Class Type)

  • 여러 데이터 타입을 묶어 하나의 객체로 관리하는 타입.

C/C++, JAVA, Python의 데이터 타입 크기 및 기억 범위

C/C++의 데이터 타입 크기 및 저장 범위

종류 데이터 타입 크기 기억 범위
문자 char 1Byte -128 ~ 127
부호 없는 문자형 unsigned char 1Byte 0 ~ 255
정수 short 2Byte -32,768 ~ 32,767
  int 4Byte -2,147,483,648 ~ 2,147,483,647
  long 4Byte -2,147,483,648 ~ 2,147,483,647
  long long 8Byte -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
부호 없는 정수형 unsigned short 2Byte 0 ~ 65,535
  unsigned int 4Byte 0 ~ 4,294,967,295
  unsigned long 4Byte 0 ~ 4,294,967,295
실수 float 4Byte ±1.2 × 10⁻³⁸ ~ ±3.4 × 10³⁸
  double 8Byte ±2.2 × 10⁻³⁰⁸ ~ ±1.8 × 10³⁰⁸
  long double 8Byte ±2.2 × 10⁻³⁰⁸ ~ ±1.8 × 10³⁰⁸

Java의 데이터 타입 크기 및 저장 범위

종류 데이터 타입 크기 기억 범위
문자 char 2Byte 0 ~ 65,535
정수 byte 1Byte -128 ~ 127
  short 2Byte -32,768 ~ 32,767
  int 4Byte -2,147,483,648 ~ 2,147,483,647
  long 8Byte -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
실수 float 4Byte ±1.4 × 10⁻⁴⁵ ~ ±3.4 × 10³⁸
  double 8Byte ±4.9 × 10⁻³²⁴ ~ ±1.8 × 10³⁰⁸
논리 boolean 1Byte true 또는 false

 

Python의 데이터 타입 크기 및 저장 범위

종류 데이터 타입 크기 기억 범위
문자 str 무제한 무제한
정수 int 무제한 무제한
실수 float 8Byte ±4.9 × 10⁻³²⁴ ~ ±1.8 × 10³⁰⁸
  complex 16Byte ±4.9 × 10⁻³²⁴ ~ ±1.8 × 10³⁰⁸

추가 설명

  • C/C++ : 다양한 메모리 크기를 지원하며, 부호 있는 정수와 부호 없는 정수를 별도로 구분함.
  • Java : 플랫폼 독립적인 특성을 가지며, boolean 타입이 존재함.
  • Python : 데이터 타입의 크기가 고정되지 않으며, 정수형(int)은 메모리 한도 내에서 무제한으로 저장 가능.

Python의 컨테이너 객체(Container Object)

컨테이너 객체란 리스트(List), 튜플(Tuple), 딕셔너리(Dictionary) 등과 같이 하나의 이름으로 여러 요소를 가질 수 있는 객체를 말한다.
이들은 다양한 데이터 구조를 제공하여 Python 프로그래밍에서 데이터를 효율적으로 관리하고 조작할 수 있도록 한다.

 

컨테이너 객체의 주요 종류

종류 설명
리스트 (List) - 다양한 자료형의 값을 연속적으로 저장 가능 
- 필요에 따라 요소의 개수를 늘리거나 줄일 수 있음(가변적)
- 대괄호 [ ]를 사용하여 정의
튜플 (Tuple) - 리스트와 유사하지만, 요소의 추가, 삭제, 변경이 불가능(불변형)
- 한 번 정의하면 내용을 바꿀 수 없으며, 소괄호 ( )를 사용하여 정의
딕셔너리 (Dictionary) - 키(Key)와 값(Value)의 쌍으로 이루어진 자료구조 
- 순서가 없으며, 키를 이용해 데이터를 저장하고 검색할 수 있음 
- 중괄호 { }를 사용하여 정의
셋(Set) - 중복을 허용하지 않는 요소들의 집합 
- 순서가 없으며, 빠른 검색과 연산이 가능 
- 중괄호 { }를 사용하여 정의
레인지 (Range) - 연속된 숫자를 생성하는 객체 
- 리스트, 반복문 등에서 많이 사용됨 
- range(start, stop, step) 형식으로 사용

추가 설명

  • 리스트(List)와 튜플(Tuple)은 요소를 연속적으로 저장하지만, 리스트는 가변형(mutable)이고 튜플은 불변형(immutable)이다.
  • 딕셔너리(Dictionary)는 순서가 없는 키-값(Key-Value) 구조를 가지며, 빠른 검색이 가능하다.
  • 셋(Set)은 중복을 허용하지 않으며, 수학적 집합 연산을 수행할 수 있다.
  • 레인지(Range)는 연속된 정수를 생성하는 데 사용되며, 반복문에서 자주 활용된다.

출저 및 참고

정보처리 산업기사 기본서(시나공)

728x90

'자격증 > 정보처리' 카테고리의 다른 글

연산자  (0) 2025.02.09
변수  (0) 2025.02.09
네트워크 관련 신기술  (0) 2025.02.08
DB관련 신기술  (0) 2025.02.08
HW 관련 신기술  (0) 2025.02.08