추상화: 복잡한 자료, 모듈, 시스템으로부터 핵심적인 개념 또는 기능을 간추려 내는 것
추상화의 범주
1. 자료 추상화: 문자열, 트리와 같은 계산될 자료의 특성을 추상화
2. 제어 혹은 알고리즘 추상화: 실행 순서를 제어하는 특성을 추상화
추상화의 단계
1. 기본적 추상화: 기계적인 정보를 수집하는 추상화
2. 구조적 추상화: 프로그램 구조에 대한 추상화
3. 단위 추상화: 단위 프로그램 전체 정보에 대한 추상화
자료 추상화 - 기본적 추상화: 컴퓨터 내부 자료 표현을 추상화 하는 것
-> 기억장치의 위치, 자료값 등 인간이 이해하기 쉽게 추상화
-> 기억장치의 위치를 알기 쉽게 변수에 저장하거나 2진수 숫자값을 알기 쉽게 10진수로 변환하는 것
=> int i;, x=2.5;
자료 추상화 - 구조적 추상화: 관련된 자료값의 집합을 추상화 하는 것이다.
-> 배열, 레코드같은 구조형 자료를 형 선언문을 통해 자료형에 이름을 붙일 수 있다.
-> 이러한 것도 형 선언문을 쉽게 쓸 수 있게 하기 위한 추상화의 예시이다.
=> type student = recode .... ;
자료 추상화 - 단위 추상화: 프로그램 전체 정보에 대한 추상화
-> 자료의 생성, 사용에 대한 정보를 모아두는 것
-> 세부사항에 대해서 접근등을 제한하는 것들을 자료 캡슐화, 추상 자료형 이라고 부른다.
=> C++, JAVA의 class처럼 말이다. 이러한 Class들이 단위 추상화에 속한다.
제어 추상화 - 기본적 추상화: 기계 명령어들을 모아 추상구문으로 바꾸는 것
-> 계산과 계산값의 저장을 하는 코드를 추상화 하는 것
-> 코드를 실제 기계언어로 표현하려고 하면 한줄로 처리할 수 없을 것이다. 하지만 이해하기 쉽게 한줄로도 코드가 작성 가능하다.
=> x = x + y
제어 추상화 - 구조적 추상화: 검사 값에 따른 명령어 그룹을 실행하는 것
-> 무언가를 검사해서 어떤 구문을 실행할지 정하는 것은 프로그램 구조에 큰 부분을 차지 한다.
-> 프로그래밍 언어의 택일 문, swich case, if구문 그리고 구조화 반복문인 for, while문이 바로 그것이다.
제어 추상화 - 단위 추상화: 프로시서(특정 작업을 실행)의 집합을 추상화 하는 것
-> 어떠한 역할을 하는 프로그램들을 모아 하나의 단위 프로그램처럼 만드는 것이 바로 단위 추상화 이다.
-> packege, module과 같은 친구들이 그 예시이다.
'06.C#' 카테고리의 다른 글
압축 & 압축 풀기 (0) | 2022.06.07 |
---|---|
C# 변수, 메소드, 클래스 명명 규칙 (0) | 2021.12.20 |
LINQ List - FirstOrDefault vs SingleOrDefault 차이 (0) | 2021.12.07 |
C# 문자열에서 숫자만 추출 (0) | 2021.12.07 |
C# Preference 저장, 불러오기, 적용 (1) | 2021.12.03 |
댓글