Abstraction 추상화 (2019-12-20)
Abstract, 추상적
Top > 기술공통 > 공통/유사어(ㅊ~ㅎ)
1. 추상화 (抽象化, Abstraction)
ㅇ 실세계의 복잡한 상황을 간결하고 명확하게 단순화/간추리기/일반화/개념화 ↔ 구체화
- 이를 통해 모델링
을 할 수 있게 됨
ㅇ 추상화 특징
- 응용에 따라 대상을 보는 관점이 다르므로,
- 다양한 형태 및 계층/레벨별로 추상화가 이루어질 수 있음
ㅇ 추상화 표현
- 현상의 본질 만을 남겨두고 축약시켜, 다루기 쉽게 표현토록 함
- 이때, 보통의 사람들이 이해할 수 있는 언어나 그림 등을 사용하여 이를 표현하게 됨
추상화 과정
ㅇ 통상, 구체적인 사항은 되도록 생략하고 핵심이 되는 요소/원리 만을 추구함
ㅇ 한편, 프로그래밍 의도를 추상화시켜 컴퓨터에 전달하는 도구는, ☞ 프로그래밍 언어 참조
추상화 방법
ㅇ 일반화 (Generalization)
ㅇ 집단화 (Aggregation)
ㅇ 연관화 (Association)
ㅇ 때론, 추상화를 이루기 위한 기초 작업으로,
추상화 계층/레벨
ㅇ 추상화는, 수많은 계층/레벨들이 있음
ㅇ 통상, 말이 통하지 않는다 라고 함은,
ㅇ 컴퓨터는, 하드웨어로부터 소프트웨어 구현까지, 수많은 추상화 계층을 둠
[프로그래밍] 프로세스
및 데이터
의 추상화 : 추상 자료형
ㅇ 프로세스/제어/연산/실행
의 추상화 (Procedural Abstraction)
복잡한 실행 절차를 구분짓고 묶어 단순화시키는 것
. 例) 부프로그램/함수 등
과거 초창기 고급 프로그래밍언어부터 도입된 제어 추상화 例로는,
. 제어 구조(반복문,조건문 등),함수 등이 있음
.. 이들은 상황에 따라 프로그램 실행 경로/순서를 수정하는 성질을 추상화시킨 것
ㅇ 데이터/자료
의 추상화 (Data Abstraction)
※ 위 둘을 하나로 묶음 => 추상 자료형 (Abstract Data Type, ADT)
자료
및 연산
을 모두 하나의 단위로 묶고, 출처: 정보통신기술용어해설(http://www.ktword.co.kr/abbr_view.php?m_temp1=3026)