# 변수와 타입 그리고 연산자
## 들어가며
---
프로그래밍이란 무엇이고 자바의 특징에 대해서도 알아보았으니, 본격적으로 *자바 문법의 구성요소*에 대해 알아보도록 합시다.
다음 코드는 무엇을 출력할까요?
```
public class Lab02Review {
public static void main(String[] args) {
// 변수 생성
String name = "홍팍";
int age = 34;
double weight = 82.4;
boolean isMale = true;
// 정보 출력
System.out.println("이름: " + name);
System.out.println("나이: " + age);
System.out.println("몸무게: " + weight + "kg");
System.out.println("남자인가요? " + isMale);
}
}
```
위 코드는 아래와 같은 결과를 출력합니다.
```
이름: 홍팍
나이: 34
몸무게: 82.4kg
남자인가요? true
```
왜 이렇게 출력될까요? 대충 느낌은 오는데 말이죠. 이를 명확히 알기 위해서는 변수와 타입 그리고 연산자에 대해 알아야 합니다.

## 변수란
---
변수(variables)란, *변하는 수*로서, 메모리 내 특정 공간의 이름입니다.
여기서 메모리(Memory)란, 컴퓨터의 핵심 부품으로, 기억을 담당하죠. 이러한 메모리를 노트에 비유한다면, 변수는 노트 내 특정 페이지의 한 줄로 표현할 수 있습니다.

그렇다면 변수는 어떻게 만들까요? 아래와 같은 형식을 따라 작성하면 되겠습니다. 먼저 타입을 적고 원하는 변수명을 적어주세요.
```
TYPE NAME;
```
실제 수학 점수, 책 제목 등의 변수를 코드로 만들어 볼까요?
```
int mathScore;
String bookTitle;
double weight;
boolean finished;
```
쉽죠? 그럼 계속해서 타입에 대해 알아보겠습니다.

## 타입이란
---
타입(types)이란, *변수가 가지는 값의 형태*입니다.
이러한 타입은 참 다양하지만, 숫자와 문자열(String), 그리고 참거짓(boolean) 정도로 나눌 수 있습니다. 특별히 숫자는 한번 더 정수(int)와 실수(double)로 구분되죠.

타입을 더 크게 보면 기본형(primitives)과 레퍼런스형(references)이 있습니다만, 이 내용은 추후 클래스와 객체를 배우면서 다시 다루도록 하겠습니다.
다시 돌아와서, 변수를 만들면서 동시에 값을 넣어볼까요?
```
int mathScore = 88;
String bookTitle = "오만과 편견";
double weight = 81.4;
boolean finished = true;
```
쉽죠? 마지막으로, 연산자로 내용을 마무리해봅시다.

## 연산자란
---
연산자(operators)란, 말 그대로 *연산 기호*입니다.

대표적인 연산자로는 더하기(`+`), 빼기(`-`), 곱하기(`*`), 나누기(`/`), 대입(`=`) 등이 있는데, 수학에서와 마찬가지로 연산자간 우선순위가 있다는 것을 주의하세요!
```
// 곱셈-나눗셈 먼저, 그 다음 덧셈-뺄셈, 마지막 대입 연산
int result = 4 + 8 * 3 - 9;
System.out.println(result); // 19
```
## 요약
---
1. 변수란 변하는 수로, 메모리 내 특정 공간의 이름이다.
2. 타입이란 변수의 형태로서, int, double, String, boolean 등이 있다.
3. 연산자란 연산 기호로서, 다양한 종류가 있고 이에 따른 연산자 우선순위가 존재한다.
## 확인하기
---
<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>