본문 바로가기
06.C#

C# 추상화의 개념

by chojju 2021. 12. 20.
반응형

추상화: 복잡한 자료, 모듈, 시스템으로부터 핵심적인 개념 또는 기능을 간추려 내는 것

추상화의 범주
 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과 같은 친구들이 그 예시이다.

반응형

댓글