Subprogram, Function [프로그래밍], Subroutine   부 프로그램, 서브 프로그램, 함수 [프로그래밍], 서브 루틴


   

Procedure, 프로시져, 프로시저

     (수정일:2017-11-13)

  1. 프로그램
    1. 하나의 프로그램을 구성하는 여러 작은 단위프로그램
      1. 프로그램 명령문의 묶음
    2. 일련의 명령문들을 모아두고, 이를 외부에서 호출할 수 있게한 구조
      1. 프로세스 추상화의 일종
    3. 복잡한 연산을 간추려서, 이름을 붙이는 등, 쓰기 쉽도록 하는 방법
      1. 일단 정의되면 여러번 호출되며 실행될 수 있는 프로그램 블록
  2. [유사 용어] 부 프로그램은 `서브루틴`,`프로시저`,`함수` 라고도 함
    1. ※ `어떤 행동을 수행하기 위한 일련의 작업순서`라는 뜻을 갖으나, 다음과 같이 미묘한 차이있음
    2. 서브루틴 (Subroutine) : 리턴 값을 반환하지 않을 수 있음
      1. 호출되면 일련의 명령문 만을 수행하고, 결과 값을 반환 않을 수도 있음
    3. 함수 (Function) : 리턴 값을 반환함
      1. 여러 매개변수를 전달하면, 함수는 그 연산 결과에 대한 하나의 값을 반환함
        1. 수식(Expression)의 일부로 쓰여질 수 있음
      2. 구조적으로는 서브루틴과 유사하지만, 의미적으로는 수학적 함수에 가까움
    4. 프로시저 (Procedure) : 함수,서브루틴 모두를 포함하는 용어로써,
      1. `계산 수행 절차에 대한 정확한 기술`을 강조한 용어
        1. 할 일(계산)을 어떻게 수행하는가를 구체적으로 밝히는 것
  3. 프로그램의 사용 장점
    1. 프로그램 재사용으로 인한 절약
      1. 메모리 공간, 코딩 시간의 절약, 프로그램 크기를 줄임
    2. 가독성 증가
      1. 1개 호출문에 의해 실행
        1. 세부사항을 숨기면서 프로그램논리 구조를 강조함
          1. 사용자는 호출이름,매개변수,기능 정도 만을 알면 됨
    3. 유지보수확장성 용이, 문제 해결성 및 분할성 제고, 사용 용이 등
  4. 부프로그램 동작상의 특징
    1. 각 부프로그램은 단일 진입점을 갖음
    2. 호출 부프로그램은 피호출 부프로그램의 실행 중에 중단됨
    3. 부프로그램 실행이 종료되면 제어는 항상 호출 부프로그램에게 돌아감
  5. 부 프로그램의 선언/정의, 구성 요소, 호출 문법
    1. 선언/정의
      1. 수행 동작을 기술
    2. 구성 요소
      1. 이름
      2. 매개변수 리스트
      3. 몸체 : 변수 선언 및 실행부
      4. 참조 환경
    3. 호출 문법
      // 함수 선언/정의
      function 함수명 (매개변수1, 매개변수2, ...) {
         함수 본문
      }
      
      // 함수 호출
      함수명 (전달 매개변수1, 전달 매개변수2, ...);
  6. 매개변수 전달 방법 종류
    1. 값 전달 (Call by Value)
    2. 참조 전달 (Call by Reference)
  7. [기타관련용어]
    1. 코루틴 (Coroutine)
      1. 부프로그램의 특별한 경우로써, 코루틴 자체에 의해 제어되는 다중 진입점을 갖음
        1. 호출 및 피호출 부프로그램이 주종속이 아니라 대등함
    2. 콜백 (Callback)
      1. 실행이 완료된 후 실행시키는 함수
    3. 클로저 (Closure)
      1. 부프로그램과 부프로그램의 참조환경
        1. 지역 변수(local variable)의 참조(by reference)를 가진 함수 블록

[프로그래밍 기타일반]
1. 구조적 프로그래밍 2. 절차식 프로그래밍 3. 모듈 4. 프로그램 5. 부 프로그램/함수 6. 래퍼 함수 7. 핸들 8. 화일 끝 9. 콜백 10. 플러그인 11. 연산자

       최근수정이력     PC 화면