추상화를 통한 복잡성 극복

추상화란 무엇인가?

사람들은 본능적으로 이해하기 쉽고 예측 가능한 수준으로 현실을 분해하고 단순화한다.

따라서 진정한 의미에서 추상화란, 현실에서 출발하되 불필요한 부분을 도려내 사물의 본질을 드러내는 과정이다.


훌륭한 추상화의 조건

  • 추상화는 반드시 '목적'에 부합해야 한다.

  • 어떤 추상화도 의도된 목적이 아닌 다른 목적으로 사용된다면 오도(misleading)될 수 있다.


추상화의 정의

추상화(Abstracting) 어떤 양상, 세부 사항, 구조를 좀 더 명확하게 이해하기 위해 특정 절차나 물체를 의도적으로 생략하거나 감춤으로써 복잡도를 극복하는 방법


추상화의 두 가지 차원

  1. 일반화 (Generalization)

    • 공통점을 취하고

    • 차이점을 버리는 것

  2. 세부 제거 (Detail Elimination)

    • 불필요한 세부 사항을 제거하고

    • 중요한 부분을 강조하는 것


객체지향과 추상화

객체지향 프로그래밍(Object-Oriented Programming)은 '객체'라는 추상화를 통해 현실의 복잡성을 극복하려는 패러다임이다.

Last updated