# Table of Contents
# Compile
컴파일(Compile)
개발자가 작성한 소스코드를 컴퓨터가 이해할 수 있는 기계어로 변환하는 과정을 의미한다.
예를 들어 C 언어의 경우 gcc
컴파일러가 .c
파일을 컴파일하여 .o
파일을 생성한다.
Java 언어의 경우 javac
컴파일러가 .java
파일을 컴파일하여 .class
파일을 생성한다.
# Build
프로젝트를 진행하다보면 여러 개의 소스코드 파일이 생성된다. A라는 소스코드 파일에서 B라는 소스코드 파일을 참조한다고 가정해보자. 이때 파일 A와 파일 B를 각각 컴파일하면 A에서 B를 찾지 못하므로 참조할 수가 없다. 따라서 파일 A와 파일 B를 연결하는 작업이 필요한데 이를 링크(Link)
라고 한다.
빌드(Build)
는 컴파일, 링크 등을 모두 포함하여 실행 가능한 소프트웨어로 만드는 과정을 의미한다.
# Build Tool
빌드 도구(Build Tool)
는 소스코드를 실행 가능한 소프트웨어로 만들어주는 도구다. 요즘의 빌드 도구는 빌드 작업 뿐만 아니라 테스트, 빌드 자동화, 배포 등 다양한 기능을 제공하기도 한다. 자바나 코틀린의 빌드 도구에는 Maven
, Build
등이 있다.