소스코드(.java) -> 바이트 코드(.class) -> 기계어 -> 실행
.java : 실행 (소스 코드)
.class : 파일 형식 (빌드 결과물)
class : 선언
소스코드 - 바이트 코드 - #링킹 - 리소스 파일
Linking(링킹)은 여러 개의 코드와 데이터를 모아서 연결하여 메모리에 로드될 수 있고 실행될 수 있는 한 개의 파일로 만드는 작업이다. 이 파일이 메모리에 로딩되어 실행된다. 링크는 컴파일시에 수행되는 경우도 있고, 로딩시에 수행되는 경우도 있고, 실행시에 수행되는 경우도 있다.
서버끼리의 소통을 위한 창구 = API
웹개발에서 많이 쓰이는건 rest API uri로 자원식별, get post put delete를 사용하여 서버끼리 데이터를 주고받는 형식. 대표적인 API의 룰. 라이브러리를 사용한다던지, 활용하기 위해서 데이털를 수정하고 전송하는것이 가능.

■ Collection 인터페이스의 특징
| 인터페이스 | 구현 클래스 | 특징 |
|---|---|---|
| Set | HashSet TreeSet | 순서를 유지하지 않는 데이터의 집합으로 데이터의 중복을 허용하지 않는다. |
| List | LinkedList Vector ArrayList | 순서가 있는 데이터의 집합으로 데이터의 중복을 허용한다. |
| Queue | LinkedList PriorityQueue | List와 유사 |
| Map | Hashtable HashMap TreeMap | 키(Key), 값(Value)의 쌍으로 이루어진 데이터으 집합으로,순서는 유지되지 않으며 키(Key)의 중복을 허용하지 않으나 값(Value)의 중복은 허용한다 |