공통의 속성이나 기능을 묶어 이름을 붙히는 것.
객체 지향 관점에 클래스를 정의하는 것
불필요한 부분을 생략하고 객체의 속성 중 가장 중요한 것에만 중점을 두어 개략화 하는 것
모델화 하여 데이터의 공통된 성질을 추출하여 슈퍼클래스를 선정하는 개념
구체적인 것을 감추고 보고 싶어하는 전체적인 특성을 드러내는 것.
인터페이스에 의존하며 구체적인 구현에는 의존하지 않는다.
대표적인 예가 print(), console.log(). 실제 출력에 대해 어떻게 동작하는지 알지 못하지만 무엇을 하는지 알고 사용.
함수를 작게 만드는 것이 핵심이며, 함수가 하는 일도 하나여야함.
함수의 이름으로 역할이 표현되며 이름만 가지고 무슨 역할을 하는지 명확히 파악되어야 한다.
함수 내 블록화된 코드를 묶어 새로운 함수를 만든다.
내부를 보지 않더라도 이름만으로 어떤역할을 하는지 파악할 수 있어야 한다.
결론적으로 추상화는 어떤 기능이나 속성으로 묶어 이름을 붙혀 그 기능이나 속성이 무엇을 나타내는지 딱 보면 알아볼 수 있도록 하는 것