Program   프로그램

(2026-05-11)

Programming, 프로그래밍, Coding , 코딩 , 코딩 자료구조 알고리즘 비교


1. 프로그램 (Program) 이란?

  ㅇ 원래, '미리(pro) 쓴다(gram)'라는 라틴어에서 유래했다고 함
     - 예로써, 연주회 목록 순서, 운동회 순서, 방송 시간표 등 
        . 즉, 할 일을 미리 정해서 적어 놓은 것

  ㅇ 한편, 방송 관점에서는, 1 이상의 방송 채널 서비스를 말함  => 프로그램 참조


2. [전산]  컴퓨터 프로그램 이란?

  ㅇ 프로세스(실행중인 프로그램)의 생성 및 실행 규칙들로 엮어진 파일
     - 어떤 계산 일을 하기위해, 어떤 프로세스(계산 주체)들을, 
     - 어떤 순서로 밟아야 할지(계산 절차,프로시저)를,
     - 미리 정해 놓은 것

  ㅇ 컴퓨터 기계가 무엇을 하도록, 구체적으로 알려주는 명령문(명령어)들의 집합
     - 결국, 프로그램을 통해, 컴퓨터에게 수행할 일에 대한 지시가 이루어짐
        . 여기서, 컴퓨터 작업 지시서 이란?
           .. 특정 작업을 위한 CPU 명령어(Instruction)들의 리스트
    

3. [전산]  프로그래밍 (Programming) 또는 코딩 (Coding) 이란?

  ㅇ 구체적으로, 프로그래밍 언어로 프로그램을 개발하는 행위
     - 특정 응용에 맞는 자료구조 및 알고리즘을 선택하여,
     - 적절한 프로그래밍 언어를 이용하여,
     - 컴퓨터로 동작이 가능한 프로그램으로 구현하는 것

  ㅇ 한편, 
     - 프로그래밍 방법론적인 차이는, 종종 프로그래밍 언어가 구분되는 방식이기도 함
        . [참고] ☞ 프로그래밍 언어 종류, 프로그래밍 방법론 참조
     - 특히, 프로그램을 크게 3개의 제어구조로 구조화키는 것을 `구조화 프로그래밍` 이라고 함
        . 순차/선택/반복을 조합하여 프로그램을 구조적으로 조립해가는 방식


4. [전산]  프로그램의 구성

  ㅇ 통상, 파일 단위로 작성하게 됨
     - 프로그램 파일은, 문장의 집합이며,
     - 문장은 여러 표현식들로 구성되어 있게되고,
     - 그 결과에 따라 컴퓨터에 명령을 내리게 됨

  ㅇ [참고]
     - 부 프로그램 (Subprogram) : 하나의 프로그램을 구성하는 여러 작은 프로그램들
     - 라이브러리 (Library) : 효율적이고 사용하기 쉬운 프로그램들을 정리하여 모아둔 것
        . 대규모 프로그램은, 독립적으로 개발된 여러 `라이브러리`로 구성됨
     - 링킹 (Linking) : 오브젝트 파일 및 라이브러리 파일에 대한 참조 관계 연결 작업


5. [전산]  프로그램 개발 단계 및 프로그래밍 단계

  ㅇ 프로그램 개발 단계
     - ①  문제 정의 및 분석
     - ②  입출력 설계
     - ③  알고리즘 구하기 또는 개발
     - ④  프로그래밍 (코딩 : 논리적 절차를 프로그래밍 언어로 변환)
     - ⑤  테스트

  ㅇ 프로그래밍 단계
     - 문제 분석을 생각하고, (개념화)
     - 일련의 순서적인 계산/풀이 절차화해서, (알고리즘으로 변환)
     - 프로그램화해서, (특정 프로그래밍 언어로 표현)
     - 언어 번역기를 통해 실행 가능한 프로그램으로 만들고, (컴파일러)
        . (소스 프로그램 -> 어휘 분석 -> 구문 분석 -> 코드 생성 -> 목적 프로그램)
     - 실세계 컴퓨터에서 동작하도록 하는 것 (동작 가능)


6. [전산]  프로그램에 담겨지는 추상화

  ㅇ 프로그램에 담겨진 의도(생각) 즉, 추상화는, 
     - 크게 다음 2가지로 요약됨 
        . 자료구조
        . 알고리즘

  ※ 따라서, 좋은 프로그램 이란?
     - 주어진 문제에 적합한 `자료구조`와 효율적인 `알고리즘`을 선택하고,
     - 적절한 `프로그래밍 언어`로 구현된 것


7. [전산]  코딩, 자료구조, 알고리즘의 비교

  ㅇ 코딩(프로그래밍) 이란?   (언어 변환)
     - 주어진 문제에 적합한 자료구조/알고리즘 및 전체 로직을 선택/설계하고,
     - 이를 특정 프로그래밍 언어 문법에 맞춰 변환(번역)/구현하는 작업

  ㅇ 자료구조 이란?   (데이터 형식)
     - 적절한 데이터 형태로 표현하여 주어진 문제를 보다쉽게 해결하려는 것

  ㅇ 알고리즘 이란?   (문제 해결 절차)
     - 문제 해결 방법의 논리적 절차

  ※ 알고리즘과 자료구조를 선택하는 것은, 서로 밀접하게 관련되어 있음

▷ 프로그래밍
1. 프로그램, 프로그래밍   2.
▷프로그래밍 언어론
  3.
▷프로그래밍 방법론
  4.
▷객체지향 프로그래밍
  5.
▷자료표현코드
  6.
▷자료구조
  7.
▷알고리즘
  8.
▷시스템 소프트웨어
  9.
▷프로그래밍언어 종류
  10.
▷프로그래밍 기타일반
 
용어해설 종합 (단일 페이지 형태)

"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"
     [정보통신기술용어해설]