Subprogram, Function, Subroutine   부 프로그램, 서브 프로그램, 함수

(2017-02-16)
정보기술(IT) 1. 정보기술

전산기초
컴퓨터구조
프로그래밍
데이터베이스
소프트웨어 공학
운영체제
정보보호/보안
IT 기타기술
 > 프로그래밍프로그래밍 언어론
객체지향
자료구조
알고리즘
자료표현(알파벳/코드)
시스템 프로그래밍
프로그래밍언어 종류
프로그래밍 기타일반
 > 프로그래밍 기타일반 1. 구조적 프로그래밍
2. 절차식 프로그래밍
3. 모듈
4. 부 프로그램/함수
5. 래퍼 함수
6. 재귀 함수
7. 핸들
8. 화일 끝
9. 콜백
10. 플러그인

     
1. 부 프로그램

  ㅇ 하나의 프로그램을 구성하는 여러 작은 단위의 프로그램
     - 프로그램 명령문의 묶음

  ㅇ 일련의 명령문들을 모아두고, 이를 외부에서 호출할 수 있게한 구조
     - 프로세스 추상화의 일종


2. 부 프로그램의 사용 장점

  ㅇ 프로그램 재사용으로 인한 절약
     - 메모리 공간, 코딩 시간의 절약, 프로그램 크기를 줄임 

  ㅇ 가독성 증가 
     - 1개 호출문에 의해 실행
        . 세부사항을 숨기면서 프로그램의 논리 구조를 강조함
           .. 사용자는 호출이름,매개변수,기능 정도 만을 알면 됨

  ㅇ 유지보수확장성 용이, 문제 해결성 및 분할성 제고 등


3. 부 프로그램은 `서브루틴(Subroutine)`,`프로시저(Procedure)`,`함수(Function)` 라고도 함

  ㅇ 프로시저/서브루틴 : 리턴 값을 반환하지 않을 수 있음
     - 호출되면 일련의 명령문 만을 수행하고, 결과 값을 반환 않을 수도 있음
     - 주로, 계산 수행 절차에 대한 정확한 기술을 강조 함

  ㅇ 함수              : 리턴 값을 반환함
     - 여러 매개변수를 전달하면, 함수는 그 연산 결과에 대한 하나의 값을 반환함
        . 수식(Expression)의 일부로 쓰여질 수 있음
     - 구조적으로는 프로시저와 유사하지만, 의미적으로는 수학적 함수에 가까움


4. 부프로그램 동작상의 특징

  ㅇ 각 부프로그램은 단일 진입점을 갖음
  ㅇ 호출 부프로그램은 피호출 부프로그램의 실행 중에 중단됨
  ㅇ 부프로그램 실행이 종료되면 제어는 항상 호출 부프로그램에게 돌아감


5. 부 프로그램의 선언/정의, 구성 요소, 호출 문법선언/정의 
     - 수행 동작을 기술

  ㅇ 구성 요소
     - 이름
     - 매개변수 리스트
     - 몸체 : 변수 선언 및 실행부
     - 참조 환경

  ㅇ 호출 문법

    
// 함수 선언/정의
function 함수명 (매개변수1, 매개변수2, ...) {
   함수 본문
}

// 함수 호출
함수명 (전달 매개변수1, 전달 매개변수2, ...);
6. 매개변수 전달 방법 종류 ㅇ 값 전달 (Call by Value) ㅇ 참조 전달 (Call by Reference) 7. [기타관련용어] ㅇ 코루틴(Coroutine) - 부프로그램의 특별한 경우로써, 코루틴 자체에 의해 제어되는 다중 진입점을 갖음 . 호출 및 피호출 부프로그램이 주종속이 아니라 대등함 ㅇ 콜백 함수(Callback Function) - 실행이 완료된 후 실행시키는 함수 ㅇ 클로저(Closure) - 부프로그램과 부프로그램의 참조환경 . 지역 변수(local variable)의 참조(by reference)를 가진 함수 블록


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

 
        최근수정     모바일웹     참고문헌