# 변수와 타입 그리고 연산자
컴퓨터는 데이터를 처리함으로써 일을 수행한다. 데이터 처리를 위한 기본 문법 요소는 아래와 같다. 이를 학습해보자.
![클라우드스터딩-자바-타입-변수-연산자](https://i.imgur.com/s0hzfPC.png)
## 변수
---
#### 정의
변수(variables)란 변하는 수로서, 이름 붙여진 메모리 공간이다. 여기서 메모리(memory)란, 컴퓨터의 핵심 부품으로 기억을 담당한다. 또 다른 핵심 부품으로는 CPU(연산 담당)가 있다.
![클라우드스터딩-자바-CPU-메모리](https://i.imgur.com/MhB2GVk.png)
#### 생성법
변수 생성 형식은 아래와 같다.
```
TYPE NAME; // 변수의 타입을 적고, 뒤에 이름을 붙임.
```
실제 변수 생성 예
```
int mathScore = 88; // 수학 점수를 저장할 공간
String bookTitle = "오만과 편견"; // 책 이름을 저장할 공간
double weight = 72.4; // 무게를 저장할 공간
boolean finished = true; // 종료 여부를 저장할 공간
```
타입
---
타입(types)이란, 변수의 형태이다. 대표적 타입으로는 int(정수형), double(실수형), String(문자열), boolean(논리형) 등이 있다.
```
// 정수(딱 떨어지는 수) => 3, -7, 0, 10, ...
// 실수(정수 + 소수점 이하) => 3.14, -9.81, 0.0, ...
// 문자열(문자의 나열) => "hello", "world", ...
// 논리형(참/거짓) => true, false
```
> 타입은 또 크게 두 가지 카테고리로 나뉜다. 이는 기본형과 레퍼런스형이다.
> 해당 개념은 추후 객체지향 파트에서 다시 다루도록 하자.
## 연산자
---
#### 정의
연산자(operators)란, 말 그대로 연산 기호이다. 대표적인 연산자로는 더하기(`+`), 빼기(`-`), 곱하기(`*`), 나누기(`/`), 대입(`=`) 등이 있다.
![클라우드스터딩-자바-연산자](https://i.imgur.com/5d9eFwD.png)
#### 우선순위
연산자는 우선순위에 따라 실행 순서가 결정된다.
```
int result = 3 + 8 * (3 - 1); // result => 19
```
## 요약
---
![클라우드스터딩-자바-변수-타입-연산자-요약](https://i.imgur.com/IejhfCF.png)
- 변수는 이름 붙여진 특정 메모리 공간으로 특정 값을 저장한다.
- 컴퓨터의 핵심 부품인 Memory는 기억을, CPU는 연산을 담당한다.
- 대표적 타입으로는 int(정수), double(실수), String(문자열), boolean(논리형)이 있다.
- 연산자는 우선 순위가 존재한다.
## 확인하기
---
<div class="interact_responsive_padding" style="padding:100% 0 0 0;position:relative;margin-bottom:5px;"><div class="interact_responsive_wrapper" style="height:100%;left:0;position:absolute;top:0;width:100%;"><iframe id="interactApp5cac947b1b22af00141bc3a5" width="100%" height="100%" style="border:none;max-width:100%;margin:0;" allowTransparency="true" frameborder="0" src="https://quiz.tryinteract.com/#/5cac947b1b22af00141bc3a5/q/1?method=iframe"></iframe></div></div>
## 도서구매
<a href="http://www.yes24.com/Product/Goods/104740689"><img src="http://image.yes24.com/goods/104740689/XL" width="50%" /></a>