검색
색인
추상화, 抽象化, Abstraction
컴퓨터 과학 분야에서 주어진 문제나 시스템의 복잡도를 단순화하여 인식하기 쉽게 만드는 개념화 작업.
핵심 요소를 잘 파악하여 필요 이상으로 상세, 복잡한 요소들을 결합하거나 단순화하고, 속성의 일부분만으로 주어진 대상을 간결하고 명확하게 표현한다. 복잡도를 관리하는 핵심 기술이라고 할 수 있다.


방식에 따라 데이터 추상화(data abstraction)와 절차 추상화(procedural abstraction)로 나뉜다. 데이터 추상화는 하나의 데이터와 관련된 조작 및 표현 유형을 결합하는 방식이다. 예를 들어, 학번, 이름, 생일, 연락처, 주소, 성적 등 모든 항목을 언급하기보다 ‘학생’이라는 항목(개체)으로 결합하여 추상화한다. 절차 추상화는 세부적인 실행 절차를 단순화하는 방식이다. 예를 들어, 라면 조리를 설명할 때마다 가스레인지 켜기, 냄비에 물 넣기, 물 끓이기, 라면과 스프 넣기 등 세부 절차를 모두 언급하면 너무 복잡하다. 따라서 이를 ‘라면 조리’라고 추상화하여 간단하게 표현하는 것이다.