본문 바로가기

프로그래밍기초

프로그래밍에서 변수란? 자료형이란? 데이터 타입 종류 및 크기

C, C++, C#, java, python 등등.. 다양한 언어가 있는데요

프로그래밍 공통은 이러한 언어들에서 공통적으로!! 나오는 개념을 정리하는 카테고리예요

공통적으로 다 포함되어 있다는 말은 기초 중에 기초이면서도 그만큼 중요한 개념이겠죠

 

프로그래밍에서 변수란?

수학 과묵을 들어본 학생이라면 변수라는 단어에 대해서는 익숙할 거예요

x+y+z=10 할 때 미지수 x y z를 변수라고 부르죠

수학에서는 정해지지 않은 임의의 값을 대입 할 수 있는 문자를 가르켜 변수라고 합니다.

 

프로그래밍에서도 변수는 이와 유사해요

 

 

변수는 결국 정해지지 않는 값을 저장한느 그릇 상자인거죠!!

여기 보면 15라는 데이터값을 저장한 상자하나와, 10이라는 데이터 값을 저장한

상자 하나가 있어요. 이상자를 구분해주기 위해서 우리는 이름

즉 변수명을 붙여서 구별합니다

 

프로그램에서 데이터는 한 번만 사용되는 것이 아니라, 프로그램이 실행되는

동안 계속해서 사용될 수 있어요. 예를 들어 두 개의 정수 값을 입력받은 후

합을 구해서 출력하는 프로그램을 작성한다고 해봅시다

 

먼저 사용자가 입력하는 두 개의 정수 값을 어딘가에 저장해 두었다가 필요할 때 다시 꺼내서

합을 구해야 해요. 이처럼 꼭 데이터를 담아둘 상자가 필요합니다

 

컴퓨터에서 이 상자는 메모리에 해당돼요. 컴퓨터에서 메모리는 정말 상자처럼  

데이터를 저장하는 역할을 수행해주거든요

 

컴퓨터의 각 데이터는 메모리의 한 주소에 저장됩니다

 

변수란 값을 저장할 수 있는 메모리 공간에 붙은 이름,

혹은 메모리 공간자체를 가리켜 변수라고 합니다.

 

타입, 자료형이란?

메모리는 연속된 데이터 바이트의 모임입니다.

 

 코끼리가 냉장고에 들어갈 수 없듯이, 데이터의

 

크기에 따라서 상자의 크기도 달라집니다

 

용량이 크면 자리를 많이 차지하는 것처럼, 컴퓨터

 

세계에서도 데이터가 숫자냐, 문자냐, 소숫점이 있는 

 

수냐 등등 데이터의 종류에 따라 메모리가 차지하는

 

크기가 다릅니다.

 

어느 정도 크기의 데이터가 들어갈 것이니 맞는 상자를 구비해놔 = 어느정도 크기가 필요한

데이터를 저장할 수 있게 메모리에 좀 잡아놔줘~

변수를 사용하기 위해서 턱정 크기의 메모리를 준비하는 것을  " 변수를 메모리에 할당한다"

라고 말합니다 

 

그리고 메모리에 할당된 변수가 여러 개 일때, 각각을 구분하기 위해 변수의 이름을 사용합니다

저장될 값의 데이터형에 따라 필요한만큼 메모리를 할당받고 이름을 붙여 사용하고

"변수를 선언한다"고 합니다

 

variables are named memory locations that have a type, such as integer or character

and consequently, a size, which is inherited from their type.

 

변수는 정수 또는 문자와 같은, 결국 크기를 말하는 타입을 가지는 메모리 위치를 말합니다

 

변수의 선언문을 확인해볼까요? (C/C++/java)

 

int num:

 

int : integer 즉 정수를 의미하고 이 데이터 유형은 4바이트 크기를 갖습니다. 자료형을 뜻해요

num : 그 메모리 공간의 이름 즉 변수명입니다.

int num: 4바이트를 차지하는 정수를 저장할거니까 4바이트 공간을 잡아놓고 num이라고 이름붙여줘

타입이 없으면 얼마를 잡아야할지 몰라서 자료형은 꼭 명시해줘야해

 

꼭 명시해줘야한다했는.. 그런데! 가끔가다 다른 언어들 중 자료형을 붙이지 않거나 구별하지

않는 경우가 있어요

예를들어 자바스크립트 언어에서는 int, character 이렇게 각 타입을 구별해 자료형을 명시하는게 아니라

var로 쓴다던데

 

var num = 1;

var text = "hello";

 

파이썬이나 리눅스 bash언어는 자료형 자체가 없어요

 

num =1;

text = "hello"

 

차지하는 용량이 다 같아서 구별을 안하는게 아니라 이런 언어의 경우 자동으로 내부에서

수행해주는거예요. 값을 보고 자료형을 판단해주는거죠  bash는 판단하지 않고

그냥 다 문자열로 인식해버림

 

자료형의 종류(standard data types)와 크기

기본적으로 각 자료형들이 차지하는 크기는 알고 있어야 합니다.

 

추가전인 변수관련 내용에 대해서는 각각 프로그래밍 강좌를 할때 

더 깊게 들어가는걸로 하고 오늘 포스팅은 마무리하도록 하겠습니다.