ADT 알아보기
안녕하세요 오늘은 ADT, 즉 추상화 데이터 타입(Abstract Data Type)에 대해 알아보고자 합니다.
의미
이는 int나 string과 같은 구체 테이터 타입들과 그 자료에 대한 연산을 글로 풀어서 작성한 것입니다.
인터페이스와 구현을 분리하여 어떻게 구현하는지는 작성하지 않고, 추상화된 인터페이스만 정의합니다.
자료구조와 차이점
자료구조는 시간 복잡도를 작성하지만, 추상화 데이터 타입은 작성하지 않습니다.
데이터 추상화
객체 지향 프로그래밍 방법론의 기반으로 데이터와 연산을 독립적으로 구현될 별도의 모듈로 캡슐화하게 됩니다.
이로서 대형 프로젝트 개발을 용이하게 해줍니다.
추상 데이터 타입
클라이언트 프로그램과 데이터 타입의 구현간 인터페이스입니다.
클라이언트 프로그래머에게 데이터 타입의 연산 방식만을 알려주고, 실제 구현은 숨기게 됩니다.
예시로 string 타입의 사용자가 문자열의 길이를 구하려면 length 메소드를 호출하면 됩니다. 굳이 길이의 결정 방법은 알 필요가 없습니다.
목적
실제 프로그래밍 언어에서 객체를 선언하기 위해 사용되는 정의와 구현을 용이하게 해주는게 ADT의 목적입니다.
실체화 순서
-
ADT 설계
-
인터페이스 작성
-
클래스 구현
-
객체 생성
자바를 예로 들면 ADT 설계를 하고 이를 기반으로 인터페이스 파일을 작성하여, 클래스에서 구현합니다.
마지막으로 클래스를 객체로 선언하고 생성하여 프로그램을 구동시킵니다.
Written on March 18, 2018