📑 추상화 Abstraction
- 일반적 개념
- 필수적이고 중요한 속성만 골라 단순화시키는 과정
- Data 측면 개념
- 복잡한 Data를 추상화 개념을 적용시켜 단순화 하는 것
- 기존 정의된 개념을 이용하여 표현
- ⇒ 공통적인 개념을 이용하여 같은 종류의 다양한 객체를 정의하는 것
💽 Data Type
- 정의
- Data의 집합 + Data에 적용할 수 있는 연산의 집합
- ex) Integer Data Type의 경우에는 “Data : 정수”, “연산자 : +,-.*, /”
💡 Data : 프로그램의 처리 대상이 되는 모든 것. 값 자체를 의미하기도 함
- 종류
- System-defined Data Type
- 원시자료형(Primitive Data Type)
- 하나의 고정된 저장 공간을 차지하는 데이터
- 원시 자료형은 모두 하나의 데이터만을 가짐
string
, number
, bigint
, boolean
, undefined
, symbol
, (null)
- 단순자료형(Simple Data Type)
- 어떤 프로그래밍 언어가 기본적으로 제공하는 변수나 상수의 형식.
- 일반적으로 정수형, 실수형, 문자형, 불형 포함
- 복합자료형(Composite Data Type)
- 구조화자료형
- User-defined Data Type
- 기존의 Data type을 이용해 정의
- 정의 후, 시스템 정의 데이터 타입과 똑같이 사용 가능
💾 Abstract Data Type (ADT)
- 데이터 타입의 논리적 정의
- 데이터와 연산의 본질에 대한 명세만 정의
- 데이터가 무엇인지, 각 연산은 무슨 기능을 수행하는지 정의 ⇒ 필요한 데이터의 구조에 대해서 공통의 특징만 뽑아 정의한 것
💡 기존의 데이터 타입을 이용하여 정의할 뿐 데이터의 구조, 연산의 구현방법은 포함하지 않는다
| 데이터 | 연산 |
---|
추상화 | ADT | 알고리즘 |
구체화 | 데이터 타입 | 프로그램 |