추상화라는 단어를 처음 들으면 습관때문에 구체적이지 않다, 형태를 갖추고 있지 않다라고 생각하는 경우가 많다. 하지만 이 부분은 완전히 틀린 해석이다. 위키백과의 말을 빌려보자면 '컴퓨터 과학에서 추상화는 복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념 또는 기능을 간추려 내는 것'. 즉, 추상화는 핵심적인 기능을 뽑아내는 행위이다. 예를 들면, 한 홈페이지 안에서 기능에 초점을 맞춰 글리스트, 본문, 댓글 영역으로 나누어 놓았을 때 추상화시켰다라고 말할 수 있다.
추상화는 기능 단위로 묶어진다고 했는데, 추상화가 제대로 되지 않은 코드는 해당 코드만 보고 바로 파악하기 어렵고 전체시스템에 의존하는 경우가 있을 수 있다. 그렇다면 추상적인 부분이 제대로 표현된 것이 맞는지 검토하고, 기능 외적인 부분들은 다시 다른 함수를 정의해서 추상화시킬 수 있는 방법을 찾아야할 것이다.
객체지향프로그래밍(Object Oriented Programming)의 추상화
추상화 : 해결해야 할 문제, 혹은 반영해야할 현실을 소프트웨어적으로 단순화시켜 만드는 행위
이 부분은 지식보다 지혜가 필요하다. 즉 스스로 경험하고 깨우쳐서 자기화 시켜야한다.