All Articles

1.1 추상화의 개념

이 글은 Codeflow라는 사이트의 강의를 듣고 개인적으로 정리한 내용을 담고 있습니다.
아직 초보적인 단계라 부족하거나 잘못된 부분이 있을 수 있습니다.
혹시 내용에 오류가 있다면 댓글 남겨주시면 감사하겠습니다.


Abstraction (추상화)

복잡한 것을 단순하게 표현하는 것

  • 단순하게 표현하기 위해 표현하고자 하는 대상의 핵심(본질적인 측면)에 집중합니다.

    ex) 포인트카드

    membership

    • 왼쪽은 CJ ONE 앱이며 맴버십 카드의 여러가지 기능을 표현합니다.
    • 오른쪽은 포인트적립 카드 관리기능을 제공하는 Syrup 앱의 맴버십 카드 화면입니다.
    • Syrup 앱에서는 맴버십의 핵심 기능이자, 앱의 본질적인 의미(여러가지 맴버십 카드 관리 및 적립) 에 가장 알맞는 적립과 포인트 내역 기능만 표현했습니다.
    • 적립포인트 내역추상화 한 것입니다.
  • 이해관계자 (Stakeholder)가 다르면 같은 실재를 추상화 한다해도 결과물이 달라질 수 있습니다.

    • 예를들어 신발에 대한 정보를 추상화 한다고 가정했을때, 소비자에게 추상화가 필요한 정보는 가격이나 사이즈 일 것입니다.
    • 반면에 판매자에게는 재고를 알 수 있는 신발의 물품 번호 혹은 재고가 될 수 있습니다.
  • 여러 가지 사물이나 개념에서 공통되는 특성이나 속성 따위를 추출하여 파악하기도 합니다.