스크린샷 2022-08-14 오후 9.44.24.png

앞서 하나의프로그램을 실행해보면서 cpu에 어떤 명령을 내릴 수 있는지 실행해 보았다. cpu가 할 수 잇는 기능이 생각보다 단순하다는 점이다. 불러오고 저장하고 복사하고 연산하고 이런 기능들만으로 cpu의 모든 기능이 이루어진다.

스크린샷 2022-08-14 오후 9.44.33.png

앞서 총 4줄의 머신코드를 실행했지만 사실은 숫자 2개를 더하는 간단한 프로그램이었다. 파이썬으로는 아주 간단하게 표현할 수 있다. 조금 더 복잡한 파이썬 코드 한줄은 머신코드로는 몇 백줄 몇 천줄로 충분히 될 수 있다.

스크린샷 2022-08-14 오후 9.45.16.png

컴파일러는 이걸 cpu가 이해할 수 잇는 instruction으로 바꾸어주는 것이다. 코드의 논리 자체를 바꾸는 것이다.

스크린샷 2022-08-14 오후 9.45.49.png

컴파일러가 이런 일을 해주기 때문에우리는 굉장히 간편하고 직관적으로 컴퓨터를 이용할 수 있다. 이처럼 정말 복잡한 원리들이 이면에 있지만 그걸 몰라도 사용할 수 있게 해주는 원리. 더 중요한 부분들에만 신경을 집중할 수 있게 해주는것 이것이 바로 프로그램의 추상화이다.

스크린샷 2022-08-14 오후 9.46.01.png