브래의 슬기로운 코딩 생활
자료의 표현(2), 자료의 추상화 본문
자료의 표현 : 문자 자료의 표현
문자 자료의 표현
- 문자에 대한 이진수 코드를 정의하여 사용
- 문자에 대한 이진수 코드표
BCD 코드
6비트를 사용하여 문자 표현
- 상위 2비트 : 존 비트
- 하위 4비트 : 2진수 비트
- 존 비트와 2진수 비트를 조합하여 10진수 0~9와 영어 대문자, 특수 문자를 표현
EBCDIC 코드
8비트를 사용하여 문자 표현
- 상위 4비트 : 존 비트
- 하위 4비트 : 2진수 비트
- 존 비트와 2진수 비트를 조합하여 10진수 0~9와 영어 대문자/소문자와 특수문자를 표현
EBCDIC 코드의 구성
ASCII 코드
7비트를 사용하여 문자 표현
- 상위 3비트 : 존 비트
- 하위 4비트 : 2진수 비트
- 존 비트와 2진수 비트를 조합하여 10진수 0~9와 영어 대문자/소문자, 특수문자를 표현
ASCII 코드의 구성
자료의 표현 : 논리자료의 표현
유니코드(Unicode=Universal)
- EBCDIC 코드나 ASCII 코드는 최대 8비트로 숫자, 몇 가지 특수문자, 알파벳을 정의하므로 문자 코드 표에 정의되어 있지 않은 문자 표현 불가능
- 이런 문제 해결 위해 세계 여러 나라의 언어를 통일된 방법으로 표현할 수 있도록 정의한 국제 표준 코드(ISO/IEC 10646)
- 2바이트를 조합하여 하나의 글자를 표현하기 때문에 1바이트 코드로 표현할 수 없었던 다양한 언어를 표현.
- 유니코드 표는 http://www.unicode.org/에서 확인 가능
- 초기 IBM 컴퓨터 시스템에서는 BCD 코드를 사용하다가 더 많은 문자 코드를 표현할 수 있는 EBCDIC코드로 대체, 그러다 미국 표준 코드인 ASCII 코드 일반화, 현재는 표현의 한계를 극복한 유니코드가 일반화
- XML, Java, CORBA 3.0, WML 등 인터넷 기반 프로그램과 제품에 사용
논리자료
- 논리값을 표현하기 위한 자료 형식
- 논리값 : 참(True)와 거짓(False), 1과 0
- 1바이트를 사용하여 논리자료를 표현하는 방법
자료의 표현 : 포인터 자료의 표현
포인터 자료
- 메모리의 주소를 표현하기 위한 자료 형식
- 변수의 주소나 메모리의 특정 위치에 대한 주소를 저장하고 주소 연산하기 위해 사용
자료의 표현 : 문자열 자료의 표현
문자열(String) 자료
- 여러 문자로 이루어진 문자의 그룹을 하나의 자료로 취급하여 메모리에 연속적으로 저장하는 자료 형식
- 하나의 문자열 자료에 포함된 부분문자열을 표현하는 방법
•방법 1 : 부분 문자열 사이에 구분자를 사용하여 저장한다.
•방법 2 : 가장 긴 문자열의 길이에 맞춰 고정 길이로 저장한다.
•방법 3 : 부분 문자열을 연속하여 저장하고 각 부분 문자열에 대한 포인터를 사용한다.
자료의 추상화
뇌의 추상화 기능
기억할 대상의 구별되는 특징만을 단순화하여 기억하는 기능
컴퓨터를 이용한 문재해결 에서의 추상화
- 크고 복잡한 문제를 단순화시켜 쉽게 해결하기 위한 방법
- 자료 추상화(Data Abstraction)
처리할 자료, 연산, 자료형에 대한 추상화 표현
• 자료 : 프로그램의 처리 대상이 되는 모든 것을 의미
•연산 − 어떤 일을 처리하는 과정. 연산자에 의해 수행 / 예) 더하기 연산은 +연산자에 의해 수행
•자료형 − 처리할 자료의 집합과 자료에 대해 수행할 연산자의 집합
예) 정수 자료형
자료 : 정수의 집합. {…, -1, 0, 1, …}
연산자 : 정수에 대한 연산자 집합. {+, -, x, ÷, mod}
자료의 추상화 : 개념
추상 자료형(ADT, Abstract Data Type)
자료와 연산자의 특성을 논리적으로 추상화하여 정의한 자료형
추상화와 구체화
추상화 – “무엇(what)인가?”를 논리적으로 정의
구체화 – “어떻게(how) 할 것인가?”를 실제적으로 표현
추상화와 구체화
자료와 연산에 있어서의 추상화와 구체화의 관계
'Class > 자료구조, 알고리즘' 카테고리의 다른 글
자료구조 구현을 위한 C 프로그래밍 기법 - 포인터 (0) | 2023.02.15 |
---|---|
자료구조 구현을 위한 C 프로그래밍 기법 - 배열 (0) | 2023.02.14 |
알고리즘의 이해, 표현 방식, 성능 분석 (0) | 2023.02.12 |
자료구조 개념, 자료의 표현(1) (0) | 2023.02.07 |
자료구조, 알고리즘 출처 (0) | 2023.02.07 |