

: 소스코드 파일을 실행가능한 소프트웨어로 만드는 과정
+) 빌드툴(Build Tool) : 빌드를 수행하는 도구
- 빌드툴 제공 기능 : 전처리(Preprocessing), 컴파일(Compile), 패키징(Packaging), 테스팅(Testing), 배포(Distribution)
ex) Ant, Maven, Gradle
무수히 많은 작업을 통틀어 이야기함. 빌드를 알아서 해주는 도구 = "빌드 도구"
: 개발자가 작성한 소스코드를 기계어(Byte Code)로 변환하는 과정
: 여러개로 분리된 소스파일들을 최종 실행 가능한 파일을 만들기 위해 서로 연결해주는 작업
1) 정적 링크 : 컴파일된 Object 파일 연결
2) 동적 링크 : 프로그램 실행 중 프로그램 외부에 존재하는 코드를 찾아서 연결
런타임(RunTime)
: 컴파일 과정을 마친 프로그램이 실행 및 동작하는 과정
※ 참고사이트
https://velog.io/@dsunni/Java-JVM%EC%9D%80-%EB%AC%B4%EC%97%87%EC%9D%B4%EB%A9%B0-%EC%9E%90%EB%B0%94-%EC%BD%94%EB%93%9C%EB%8A%94-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%8B%A4%ED%96%89%ED%95%98%EB%8A%94-%EA%B2%83%EC%9D%B8%EA%B0%80