<설명>
- Abstraction(추상성, 추상화) 는 보통 큰 Size의 Data Set에서 Related(관계형) 정보를 추출하는걸 일컬음.
==> 엔지니어나 다른 이들이 Codebase를 더 간략하게 하도록 도움.
- (BBC 피셜) 문제 해결에 필요한 일반적인 특성을 인식하는 Process 에서 필수가 아닌 정보를 걸러냄.
- (Valuable Dev 피셜) Process 혹은 Artifact 를 단순하게 함.
- (대충 정리) Process 등의 작업을 간략하게 정리하거나, 필요한 정보만 가져오는 것. (Keyword : 정수 추출)
< Abstraction이 적용된 예시>
(1) OOP (Object-Oriented Programming)
- Code 내 객체들의 사용을 통해 Abstraction이 종종 일함.
==> 이런 객체는 Attribute 및 반복 가능한 Code 구조를 Portable(이식가능)한 Container로서 , Functional 하게 동작하거나 Linear하게 동작 가능함.
(2) Class
- 객체의 Class 는 재사용성 원리와 자동화된 Code의 분열증식을 더 Stratify(계층화) 함.
==> 모든 Code를 작성하는게 아닌 Invoke(호출) 하여 같은 결과에 대해 less work 함. (물론 성능은 날코딩보다 떨어지기 쉬움)
(3) API (Application Programming Interface)
- API는 외부 제3자가 내부 Code에 대해 많이 알 필요없도록 하기(숨기기) 위한 목적으로, Abstaraction 정보를 제공하는 핵심 방법.
- Abstraction을 통해 Code 기반 정보가 외부 시스템에 표현되는 방식을 단순하게 하여, Code 기반 정보를 보다 더 다양하게 만드는 과정.
<참조 1> https://www.techopedia.com/definition/3736/abstraction-computer-science
<참조 2> https://www.noodle.com/articles/what-is-abstraction-in-computer-science-mscs
<참조 3>
'Programing > Knowledge' 카테고리의 다른 글
[CS] Cyclic Dependency (2) | 2022.12.04 |
---|---|
[CS] Batch (0) | 2022.12.03 |
[CS] Memoization (0) | 2022.11.30 |
[CS] Return Statement (2) | 2022.11.28 |
댓글