컴퓨터와 컴퓨터의 구성
컴퓨터
: 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)
- 하드웨어, 운영체제 등 플랫폼에 종속되지 않은 독립적인 바이트 코드로 컴파일 된다.
- 자바 가상 기계만 있으면 하드웨어나 운영체제를 막론하고 자바 프로그램을 실행 가능하다.
'Web programming > JAVA' 카테고리의 다른 글
클래스를 jar 파일로 저장 / 사용을 위해 불러오는 과정 (0) | 2020.04.07 |
---|---|
[반복문 for] 알파벳 및 구구단 출력, 누적 연산 (1) | 2020.04.07 |
간략하게 자바 개념 정리 2 (0) | 2020.04.02 |
간략하게 자바 개념 정리 1 (0) | 2020.04.02 |
자바 언어의 구성 (1) | 2020.02.20 |