<절차지향>
개체를 순차적으로 처리하여 프로그램 전체가 유기적으로 연결
컴퓨터의 작업 처리 방식과 유사 => 시간 상 유리
<객체지향>
데이터와 절차를 하나의 덩어리로 묶어서 생각
재사용성이 좋고 생산성이 높다
앞선 강의에서 컴퓨터는 0과 1의 조합만으로 이야기 한다고 했다.
C 언어와 같이 인간의 언어로 작성된 소스 코드를 컴퓨터가 이해할 수 있도록 하려면 어떻게 해야 할까?
소스 코드를 2진수로 작성된 머신 코드로 변환해 주는 작업을 해줘야 하는데, 이를 대신해 주는 것이 바로 컴파일러다.
#include <stdio.h> // stdio.h 파일을 찾아 printf 함수에 접근
int main(void) // 시작한다
{
printf("hello, world\n");
}
$ clang hello //clang 컴파일러로 컴파일링
$ ./a.out // 머신코드로 변환된 a.out 파일 실행
$ clang -o hello hello.c // clang의 command line argument -o
컴파일 된 파일의 이름이 hello로 잘 바뀌었다.