본문 바로가기
Web programming/JAVA

컴퓨터 프로그래밍 기본 개념

by Skilly 2020. 2. 19.

 

 

 

컴퓨터와 컴퓨터의 구성 

 

컴퓨터

: CPU, 메모리, 콘솔 등의 입출력 장치로 구성되어 있으며, 수식이나 논리적 언어로 표현한다.

 

CPU (Central Processing Unit)

: 중앙처리장치. 소프트웨어 명령의 실행이 이루어지는 곳이다.

 

 ALU (Arithmetic Logic Unit) : 산술 연산 + CU (Control Unit) : 흐름 제어 연산. 반복적으로 처리 가능

Register : CPU내에서 데이터를 기억하는 메모리 장치 (연산에 사용할 값이나 결과를 임시 저장)

 

 

Memory

: 주기억장치. 임시 저장소
 

 

HDD (Hard Disk Drive) 

: 보조기억장치. 전원이 꺼지더라도 저장된 데이터는 유지되는 비휘발성 메모리

 

 

콘솔 (Console)

: 기본 입/출력 장치. 컴퓨터를 이용하기 위한 사용자의 장치 

 

(그 외의 다양한 입/출력장치 : 데이터 소스, 영구 저장소)

 

 

 

 컴퓨터 프로그램 


3+4
를 연산하기 위해 필요한 것은 CPU의 ALU이며, 레지스터는 계산하기 위한 임시 저장소

 

 

컴퓨터 프로그래밍 : 특정한 프로그래밍 언어를 이용하여 컴퓨터 프로그램으로 구현하는 과정
Programming : 프로그램을 만드는 과정
Program : 특정 목적을 수행하기 위한 절차를 만드는 과정

 


컴퓨터(재료/플랫폼) + 프로그램(수행절차)

 

 

 

 번역기의 종류 


3+4 = > 컴파일러(번역기) > 어셈블리어(기능코드)  > 어셈블러(번역기) > 기계어(실행코드)

 

 

이미지 출처 : 유튜브 뉴렉처

 

 

 

 고급언어와 API, 함수 

 

고급언어

고급언어를 이용해서 프로그램을 만들어도 번역기를 돌리면 기계어로 만드는 것과 동일한 결과를 볼 수 있다. (연산자, 제어구조, 변수, 배열을 가지고 코드를 작성하여 프로그래밍을 한다)
단, CPU를 제외한 입/출력 장치는 언어에서 지원하지 않아 고급언어로 변경 할 수 없다.

 

 

API (Application Programming Interface)

: 어플리케이션이 프로그램을 만들 때, 입/출력 도구들에 대해서 간접적인 접근 도구(인터페이스)를 사용하는 것이다.

 Interface : 간접적으로 사용 할 수 있는 수단 (연결고리, 접점)

 API : 함수형태로 쓰인다. 인터페이스는 함수이다. 하지만 함수가 모두 인터페이스는 아니다.

 

 

함수의 특징

: 코드 파편화 / 코드 집중화 / 코드 은닉화

 

- 운영체제는 함수를 지원한다.

- 장치가 바뀌어도 드라이버만 바뀌지 그 외에는 안바뀐다.
- 함수의 내부를 숨기는 능력으로 인해서 함수를 이용한 간접적인 사용이 가능하다.

- 함수는 API는 아니다. (간접적인 도구로 사용한다면) 맞거나 아닐 수 있다.

 

 

 


 자바의 특징 

- 간결함

- 플랫폼 독립성

- 멀티 스레드

 

C/C++ 기존 언어가 가진 플랫폼의의 종속성을 극복 한다. 즉, 한번 작성하면, 모든 플랫폼에서 실행 가능하다.

 

 


 WORA (Write Once, Run Anywhere) 

- 하드웨어, 운영체제 등 플랫폼에 종속되지 않은 독립적인 바이트 코드로 컴파일 된다.

- 자바 가상 기계만 있으면 하드웨어나 운영체제를 막론하고 자바 프로그램을 실행 가능하다.

 

 

 

 

 

 

 

반응형