'자료구조'에 해당되는 글 2건

추상 자료형이 무엇인지에 대해 알아보자!

 

추상 자료형은 구체적인 기능의 완성 과정은 서술하지 않고 오로지 순수하게 기능이 무엇인지만 나열하는 것을 말한다.

추상 자료형은 다음과 같은 속성을 가지고 있다.

1. Characters - 내부속성

2. Operation - 추상 자료형 연산

 

계산기를 예를들어 설명하자면,

계산기에 버튼, 플라스틱테두리, 계산기화면, 등은 Character 이다. 

계산기에 연산자인 +, -, *, / 은 Operation 이다.

 

프로그래밍을 하면서 보통 머릿속에 변수를 만들고 이 변수들을 가지고 어떻게 연산해야할까 상상한다.

이는 ADT 정의를 하는 것이고, 구현은 ADT가 정의 된 이후에 구현 한다. 

 

 

 

 

'자료구조' 카테고리의 다른 글

데이터 추상화  (0) 2020.04.26
블로그 이미지

디벨로퍼스

,

데이터 추상화

자료구조 2020. 4. 26. 18:20

'데이터 추상화'란 무엇인가?

앞서 '추상화'의 의미부터 살펴보자.

 

추상화 (abstraction) 

추상화는 필요한 부분, 중요한 부분을 통합하여 하나로 만드는 것을 말한다.

 

예를들어 설명하면, 

동그란 원에 숫자가 12개까지 있고 시침과 분침 초침이 있는 걸 무엇이라고 할까?

답은 '아날로그 시계' 이다.

아날로그 시계도 디자인이 재각각이겠지만

추상화는 아주 중요한 부분을 통합하여 그 의미가 무엇을 의미하는지를 알 수있게 해준다.

 

그렇다면 데이터를 추상화 한다는 것은 무엇일까?

데이터의 물리적인 표현을 의식하지 않고 추상화한 데이터형으로써 이용할 수 가 있는데, 이러한 데이터의 물리적 표현과 그 기본 조작 절차를 묶어 정의해드고 그 형의 데이터는 정의된 절차를 따라서만 이루어지는 수법을 말한다.

 

추상하를 적절히 시키면 코드의 재사용성과 가독성을 높이고 결국 생산성, 에러의 감소와 같은 요소에 영향을 미치게 된다.

 

코딩을 하면서 빈번하게 쓰던 반복문을 살펴보자.

가와 나가 별을 100개 찍는다.


가:

printf("******....100개가 될 때까지 반복");

 

나:

for( i = 0; i < 100; i++ ) { printf("*");}

 

나에서는 *을 찍는 행동을 추상화 시켰다고 볼 수 있다.
나에서는 *을 한 번 찍는 다는 것 밖에 행동이 없었지만, 반복문을 사용함으로서 추상화 시켰고 반복문이 실행되며 행동이 실체화 되었다.

우리가 자주 쓰던 반복문도 일종의 추상화이다. 이러하듯, 추상화가 마냥 어려운 개념만은 아니다.

'자료구조' 카테고리의 다른 글

추상자료형 (ADT) 란 무엇인가?  (0) 2020.04.26
블로그 이미지

디벨로퍼스

,