./calculator
를 실행하면 main
함수가 자동으로 실행되는 이유는 C++에서 main
이 진입점(entry point) 으로 지정된 함수이기 때문main
함수에서부터 시작하게 돼.main
함수를 진입점(entry point) 으로 사용해.main
함수가 호출돼.main
함수는 프로그램의 시작과 끝을 정의하는 함수라고 생각하면 돼. main.cpp
, Calculator.cpp
등)이 목표 파일(object file) 로 변환돼.main.cpp
→ main.o
Calculator.cpp
→ Calculator.o
main.cpp
에 정의된 main
함수가 프로그램의 진입점이라는 사실을 알고 컴파일을 진행해.calculator
)로 만드는 작업을 링크(Linking) 라고 해.main
함수를 진입점으로 지정해, 실행 파일이 만들어질 때 main
함수에서부터 프로그램이 시작하도록 한다../calculator
를 입력하면 운영체제는 calculator
라는 실행 파일을 메모리에 로드해.main
함수가 진입점으로 설정되어 있기 때문에, main
함수의 첫 줄부터 코드가 실행되기 시작해../calculator
이 명령은 운영체제가 실행 파일의 진입점(main
함수) 으로 점프하게 하고, 거기서부터 프로그램이 시작돼.
main
함수만 특별할까?main
함수는 반드시 있어야 하는 함수로 정의돼 있어. main
함수가 없으면, 컴파일러는 컴파일 과정에서 "undefined reference to main
" 오류를 발생시켜.main
함수를 포함해야 하고, 이 함수는 운영체제와 컴파일러가 약속한 진입점으로 작동하는 거야.