코드
코드(code)란 '부호' 라고도 불리며 법체계(a system of laws)라는 의미의 라틴어 ‘코덱스(codex)’에서 비롯되었다. 데이터를 사용 목적에 따라서 식별하고 분류, 배열하기 위하여 사용되는 숫자, 문자 또는 기호를 뜻한다. 코드는 대량 다중의 것을 구별하여 동질의 그룹으로 분류하고 순번으로 나열하며, 특정의 것만 선별, 수량 파악, 간결한 표현 등을 하는 데 필요하다. 상황에 따라 사용할 수 있는 코드가 다르며 넒은 의미로 해석할 수 있다. 예를 들어 음악계열에서의 코드는 음의 배열(화음)을 나타내는 것이고, 통신에 있어 암호의 역할을 하며, 실생활에서는 물건의 제품정보를 스캔하는 바코드 또한 코드라 할 수 있다. [1][2][3]
목차
개요
컴퓨터 공학에서의 코드는 컴퓨터가 해야할 일을 알려주는 명령어들의 집합이다. 명령들은 컴퓨터가 이해할 수 있는 언어로 작성이 되어야 한다. 컴퓨터가 이해할 수 있도록 코드를 작성하는 것을 코딩(coding)이라고 하고 이를 크게 두 가지로 나누면 컴퓨터가 이해할 수 있도록 하는 코딩을 하는 것은 인코딩(incoding), 컴퓨터의 언어를 우리가 이해할 수 있도록 복원하는 것을 디코딩(decoding)이라고 한다. 코드로 인해 컴퓨터와의 소통이 가능해지면 정보 처리 시에 효율을 극대화시키고, 처리된 정보를 효율적으로 이용하기 위해 중대한 가치를 부여하여 설계하게 되는데 코드는 컴퓨터 처리에 융통성과 일관성을 부여할 수 있어야 하며 업무처리에도 효율성과 일관성을 부여할 수 있게된다. 컴퓨터 공학에서 코드도 여러 종류로 나뉘는데 프로그램을 만들기 위해서는 코드를 논리적으로 구성해야 한다는 것은 같다.[4][1][5]
컴퓨터와 코드
컴퓨터에는 0과1의 이진수만 인식하고 사용한다. 컴퓨터가 표현하는 0과1의 나열만으로 개발자는 어떤 내용인지 알아보기 어렵고, 이 두 숫자만으로 프로그램을 개발하는 건 굉장히 어려운 일이다. 그렇기에 어떤 내용을 기계에 명령하기 위해서는 개발자가 내리는 특정 방식의 명령을 기계어로 변환하여야 한다. 여기서 개발자는 C,자바 등과 같은 프로그래밍 언어를 사용하여 편집하게 되는데 그것을 코딩이라 한다. 그렇게 작성된 코드는 컴파일(Compile)을 통하여 이진법으로 바꾸어 컴퓨터에 전달되고 컴퓨터는 코드로 보내어진 명령을 수행하여 원하는 결과를 얻게 된다. 실행에서의 오류가 발생되면 코드를 수정하는 행위인 디버그(debugging)를 통하여 프로그램을 완성한다. 코드를 통해 컴퓨터를 활용하는 방식이 발전할수록 일의 능률 증대와 시간 단축으로 급격히 도시화되는 가속화 되고, 4차 산업으로 진행되고 있다. 컴퓨터의 수요와 사용처가 많아질수록 코드 크기의 그 규모는 상당이 커지고 복잡해지고 있는데 코드를 다룰 줄 아는 능력이 점점 필요로 해짐으로써 최근 중,고등학교 기본 과목으로 교육이 진행되고 있다.[6][7]
기능
코드의 3대 기능으로는 식별, 분류, 배열이 있으며 그 외 기능들이 존재한다.[8]
- 식별 기능: 대량의 데이터들에서 서로 구분 가능하며 쉽게 식별할 수 있는 기능.
- 분류 기능: 데이터들을 동일한 특성을 가진 데이터를 그룹화하여 나누는 기능.
- 배열 기능: 일련의 순서로 나열할 수 있는 기능.
- 간소화 기능: 데이터의 표현을 간소화 하여 나타낼 수 있는 기능.
- 표준화 기능: 다양한 종류의 데이터를 일정한 기준으로 통일하여 관리하는 기능.
- 연상 기능: 정보 표현을 하고자하는 데이터 뜻과 의미가 코드에 내포되게 하는 기능.
- 오류 검출 기능: 데이터 입/출력 시 잘못된 정보를 검출할 수 있는 기능.
- 암호화 기능: 데이터 외부 표현을 감추고자하는 암호화 기능.
종류
순차 코드
순차 코드(Sequence Code)는 발생순, 크기순, 방향순에 따라 순서대로 일련번호를 부여하여 코드화 하는 방법으로 자릿수가 짧고 추가가 용이하며, 대상 항목수가 적은 경우 주로 사용된다. 단순하고 이해가 쉽고 확장성이 좋지만 순서대로 코드가 부여되기 때문에 분류와 누락된 자료 삽입이 어려워진다. [8][2][9]
구분 코드
구분 코드(block code)는 코드화 대상 항목을 표시가 가능하고 예비 코드를 사용할 수 있어 추가가 용이한 코드로 분류해서 코드를 부여하는 방법이다. 코드 숫자의 크기로 데이터의 성격을 개략적으로 파악이 가능하며 비교적 적은 자릿수로 많은 항목을 표시할 수 있다는 장점이 있다. 또한 코드에 순서가 존재하지 않아 추가가 용이하다. 하지만 구분마다 예비코드를 가지고 있어 기계처리가 복잡하다.[2][10]
십진 코드
십진 코드(Decimal Code)는 코드화 대상 사물을 일정한 인덱스로 10개로 구분하여 대분류, 중분류, 소분류로 코드를 부여한다. 각 분류마다 코드 번호는 한자리만 허용되며 대상의 범위가 무한대로 확대가 가능하여 확장성이 용이하다.[2][10]
표의 숫자코드
표의 숫자코드(Significant Digt Code)는 대상의 물리적인 수치 값, 즉 중량, 면적, 용량, 거리, 광도 등을 코드에 적용시키는 방법이다. 코드 그대로의 판독이 용이하여 기억하기 좋고 새로운 데이터가 발생해도 자유로이 추가가 가능하다.[8][10]
그룹 분류식 코드
그룹 분류식 코드(Groub Classification Code)는 대분류, 중분류, 소분류 등 각 분류별로 행수를 구성하고, 최하행이 개개의 대상을 나타내는 방법이다. 분류 개수의 제한이 없고 컴퓨터 처리방식에 적합한 방식이다.[8]
연상 코드
연상 코드(Mnemonic Code)는 코드만 보고 대상을 연상할 수 있도록 대상의 품목 명칭이나 품목의 약호형태로 코드를 적용시키는 방법이다. 대상의 약어를 코드에 포함시키기에 쉽게 기억할 수 있어 코드화 작업이 간단하며 전문지식이 없어도 정보 파악이 가능하다.[8][10]
디지털 코드
문자 코드
오류
설계
설계 순서
설계 시 유의 사항
각주
- ↑ 1.0 1.1 〈코드〉, 《네이버 지식백과》,
- ↑ 2.0 2.1 2.2 2.3 〈부호〉, 《네이버 지식백과》,
- ↑ 동아엠앤비 출판사, 〈#1. 코드란 무엇인가: 기술은 곧 레시피이다〉, 《네이버 포스트》, 2018-07-03
- ↑ 〈코드〉, 《네이버 지식백과》,
- ↑ uzleem, 〈시스템 분석 설계 : 2-코드 설계〉, 《티스토리》, 2020-08-06
- ↑ 동아엠앤비 출판사, 〈노동의 진화에 따라 코드의 발전이 가속화되다〉, 《네이버 포스트》, 2018-07-04
- ↑ 정환용, 〈컴퓨터의 언어 - 코드(CODE)〉, 《테크월드뉴스》, 2018-04-09
- ↑ 8.0 8.1 8.2 8.3 8.4 울버린, 〈코드의 기능 및 기타〉, 《네이버 블로그》, 2013-08-09
- ↑ 〈코드〉, 《IT위키》
- ↑ 10.0 10.1 10.2 10.3 아보카도, 〈코드의종류 / 코드의종류 7가지〉, 《네이버 블로그》, 2019-03-14
참고자료
같이보기