728x90
⭐추상화(Abstraction)
- (중요)중요한 특징(필요한 부분, 중요한 부분)을 찾아낸 후 간단하게 표현(통합하여 하나로 만드는)하는 것
- 프로그래밍 언어의 추상화 : 복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념 또는 기능을 간추려 내는 것
- 데이터 추상화(=자료 추상화, Data Abstraction)
- 계산이 주체가 되는 데이터의 특성을 추상화한다.
- 데이터의 특성 : 변수, 자료형, 문자열, 수, 탐색 트리 등
- 기본 추상화 : 컴퓨터 내부 자료들을 추상화
- 예시 : 변수, 자료형
- 변수(variable) : 데이터 값을 저장하는 메모리 위치를 추상화 한 것
- 변수는 선언에 의해 이름과 자료형이 주어진다.
- int x;, float y;
- 자료형(data type) : 자료의 값들을 추상화한 것
- int, float, double, …
- 변수는 선언에 의해 이름과 자료형이 주어진다.
- 변수(variable) : 데이터 값을 저장하는 메모리 위치를 추상화 한 것
- int x= 10;
- int x = float y;
- 예시 : 변수, 자료형
- 구조적 추상화 : 관련된 자료 값의 집합을 추상화 한 것
- ex : 배열, 레코드
- 배열 : 같은 타입의 연속된 변수들의 모음
- 레코드(구조체) : 다른 타입의 연관된 변수들의 모음
- type rarray = array[1…10] of real ;
- 계산이 주체가 되는 데이터의 특성을 추상화한다.
- 제어 추상화(=알고리즘 추상화, Control Abstraction)
- 기계어 명령들 여러 개를 구조화시킨 것
- 고급 언어 수식 : numeric or logical expression
- 구조화된 문장 : if, for, while문 등
- 함수 프로시저
- 기본 추상화
- 여러 개의 명령어를 모아 추상구문으로 만듦.
- x := x + y (배정문)
- 구조적 추상화
- 테스트 내의 중첩된 기계어 명령어들을 하나의 문장으로 요약
- 조건문, 반복문, 프로시저
read x; y = 1; while (x != 1) { y = y*x; x = x-1; }
- 장점
- 기계에 대한 추상화(요약된) 관점으로 볼 수 있다.
- 다른 제어 문장들과 중첩되어 사용될 수 있다.
- 기계어 명령들 여러 개를 구조화시킨 것
- 데이터 추상화(=자료 추상화, Data Abstraction)
(프로그래밍) 언어 정의
- 언어를 모호함이 없이 정의하는 정확한 형식
- 구문법(Syntax)
- 구성요소를 이용하여 문장/프로그램을 구성하는 방법
- 문법을 이용하여 기술할 수 있다.
- 의미론(Semantics)
- 문장/프로그램의 의미를 정하는 것
- 자연어 혹은 수학적으로 기술
프로그래밍 언어 구현
- What? : 입력 프로그램 → Syntax → Semantics → Interpret/Compile
- How? :
- 입력 받은 소스 프로그램을 구문법에 맞는지 검사하고
- 그 의미에 맞게 동작하도록 해석하거나 기계어 명령어들로 번역해야 한다.
'Computer Science > 프로그래밍 언어론' 카테고리의 다른 글
03. 구문법(Syntax) (0) | 2023.07.24 |
---|---|
01. 프로그래밍 언어와 역사 (0) | 2023.07.19 |