# 연습문제 A - 자바 시작하기
## 01 자바 프로그래밍이란
---
#### 자바 프로그래밍
1. 프로그래밍이란, 프로그램을 만들어 컴퓨터에게 일을 시키는 것이다.
2. 바이너리 언어란, 0과 1만으로 이루어진 언어이다.
3. 자바를 통해 프로그램을 만들 수 있다.
4. 컴파일링이란, 소스코드가 기계어로 번역되는 작업이다.
#### 헬로 월드 첫 프로그램 만들기
5. 클래스란 자바 프로그램의 최소 단위이다.
6. 주석은 실행되지 않는 코드이다.
7. 메인 메소드란 프로그램 실행의 시작점이다.
8. println() 메소드는 문자열을 출력한다.
## 02 자바의 특징과 객체지향
---
#### 자바의 특징
1. 자바는 세계적으로 많이 쓰이며, 특별히 국내적으로도 다수의 프로젝트가 이를 통해 진행된다.
2. 자바는 다양한 운영체제에 적용될 수 있다.
3. 자바는 객체지향 프로그래밍 언어이다.
#### 객체지향 프로그래밍
4. 객체지향 프로그래밍이란, 객체를 조립하여 전체 프로그램을 만드는 방식이다.
5. 객체 지향적 프로그램은 필요 부분만 교체할 수 있어, 유지보수 및 확장성이 뛰어나다.
## 03 변수와 타입 그리고 연산자
---
#### 변수-타입-연산자
1. 변수란 변하는 수로, 메모리 내 특정 공간의 이름이다.
2. 타입이란 변수의 형태로서, int, double, String, boolean 등이 있다.
3. 연산자란 연산 기호로서, 다양한 종류가 있고 이에 따른 연산자 우선순위가 존재한다.
#### 대입과 연산자 우선순위
4. 변수는 새로운 값으로 변경될 수 있다.
```
String message = "Hello World!";
message = "Welcome to Hell World!";
```
5. 수식 연산은 괄호 먼저, 다음으로 곱셈-나눗셈, 덧셈-뺄셈, 마지막 대입 연산자 순으로 이루어진다. 우선순위가 같은 경우 왼쪽부터 오른쪽 순으로 수행된다.
```
String score = 1.0 + 2.0 * 3.0;
score = score / 2.0;
```
6. 변수에 변수가 대입될 수 있다.
```
double origin = 3.14;
double copy = origin;
```
#### 문자열 연산
7. 문자열과 문자열은 덧셈 연산자(`+`)로 연결할 수 있다.
```
System.out.println("Hello? " +"World?");
```
8. 메인 메소드의 입력문자열은 `args`변수로 전달된다.
```
String a = args[0];
String b = args[1];
...
```
## 확인하기
---
<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="interactApp5cad99bff8b34a0014620238" width="100%" height="100%" style="border:none;max-width:100%;margin:0;" allowTransparency="true" frameborder="0" src="https://quiz.tryinteract.com/#/5cad99bff8b34a0014620238/q/1?method=iframe"></iframe></div></div>