ADT (추상자료형)

지인호·2022년 1월 2일
0

TIL

목록 보기
2/28
post-thumbnail

자료형 + 추상화 = 추상자료형

구현방법을 명시하지 않고 기능이 무엇인지만 나열한 것

  • 자료형은 데이터 자체뿐 아니라, 데이터를 식별하는 구분, 연산, 저장 이라는 기능과 이에대한 구현방법까지 모두 포함하는 것이다.
  • 추상자료형 (ADT) 는 이러한 자료형을 추상화 한 것과 같다. 즉, 자료형에 있는 데이터 구분, 연산, 저장 같은 핵심 개념/기능 은 정의하되, 구현내용은 명시하지 않은 것을 뜻한다.

추상 자료형의 특징

  • What(구현대상) 은 정의하지만, How (구현방법)은 정의하지 않는다
  • 구현으로 부터 분리하고, 간단한 인터페이스(자료의 특징 또는 연산) 만 제공하여,
    세부내용을 외부로부터 숨긴다
    즉, 캡슐화 (정보은닉)이 가능하다.
    interface (in Java)또한 추상 자료형의 한 종류이다
  • Java 에서 Map, List, Set 같은 인터페이스가 추상 자료형이며,
    이에대한 구현체가 HashMap, ArrayList 같은 것들 이다.

추상 자료형의 장점

  • 구현에 대한 세부사항을 숨겨 정보은닉이 가능하다
  • 핵심기능을 미리 선언한 후, 제공함으로서 코드의 재사용성과 가독성을 증가시킨다
    글을 쓰고 읽기 전 글의 개요를 먼저 작성하고 보는것과 같은 효과
  • 구현과 사용의 유현함을 제공한다 (다형성 및 OCP 원칙)
profile
테오의 스프린트 17기 퍼실리테이터

0개의 댓글