가장 근본적으로 생각하는 컴퓨터의 기능은 연산이다. 크고 비싼 계산기.
이러한 기능을 담당하는 부분이 CPU이고, 계산이 끝난 데이터는 메모리에 저장된다.(CPU가 언제든 엑세스 가능)
CPU는 연산(ALU), 흐름제어(CU) 부분 및 내부 메모리 등이 있다.
기본적으로 연산(계산)만 가능한 ALU로 순서대로 명령어와 데이터가 전달되는데, 이때 CU는 명령을 전달할 뿐만 아니라 필요에 따라 특정 순서로 돌아가거나 건너뛰는 명령을 내릴 수 있다. 순서의 흐름을 제어하는 기능이다.
메모리는 CPU의 데이터를 저장하는 램(휘발성 메모리)과 보조장치로 필요에 따라 추가해 사용하는 HDD, SSD(비휘발성 메모리인) 등이 있다.
램의 경우 전원이 들어와있는 상태에서만 저장이 가능하며 종료된 후에는 정보가 휘발된다. 그러나 CPU의 빠른 동작을 보조할 수 있을만큼 속도가 빠르다는 특징이 있다.
HDD, SSD의 경우 비교적 속도가 느리지만 전원이 종료되더라도 정보가 휘발되지 않고 영구적으로 저장이 가능하므로 OS, 프로그램 등의 저장장소로 사용된다.
사람은 컴퓨터를 물리적으로 사용할 수 없다.
따라서 사용자(사람)와 컴퓨터 사이에는 이용할 수 있도록 도와주는 접점인 UI(User Interface)가 필요하다.
*Interface란 두 물체 사이에 상호작용이 가능한 접점을 의미한다.
사용자가 컴퓨터를 이용할 수 있도록 개발자가 만들어준다.
자바 개발자의 경우에는 자바 어플리케이션을 제공한다고 할 수 있다.
개발자가 컴퓨터를 이용하기 위해 사용하는 도구는 2가지가 있다.
언어
플랫폼 API
위의 내용을 토대로 자바 프로그래밍을 생각해본다면,
우리는 자바 언어와 자바 플랫폼 API를 이용하여 컴퓨터 환경이라는 플랫폼에서 개발을 하게 되는 것이다.