Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 9 – 부 프로그램 Outline 9.1 개요 9.2 매개변수 평가와 전달기법 9.3 형식 매개변수 명세

Similar presentations


Presentation on theme: "Chapter 9 – 부 프로그램 Outline 9.1 개요 9.2 매개변수 평가와 전달기법 9.3 형식 매개변수 명세"— Presentation transcript:

1 Chapter 9 – 부 프로그램 Outline 9.1 개요 9.2 매개변수 평가와 전달기법 9.3 형식 매개변수 명세
9.1 개요 9.2 매개변수 평가와 전달기법 9.3 형식 매개변수 명세 9.4 부작용과 이명 9.5 연산자 중복 정의 9.6 포괄 기능 9.7 코루틴

2 procedure 프로시저 이름(매개변수리스트)
9.1 개요 부프로그램(subprogram, procedure) 일련의 행위나 계산을 추상화하는 기법으로 제공 실행과 분리해서 선언할 수 있는 블록(호출 요구) 함수(function) : 함수 이름으로 값 반환 서브루틴(subroutine),프로시저(procedure) : 매개변수로 값 반환 부프로그램의 일반적 특성 각 프로시저는 단일 진입점을 갖음 호출프로그램(caller)은 피호출 프로그램(callee)의 실행동안 중단 부프로그램 종료 시 제어는 호출자에게 되돌아감 프로시저의 구성 프로시저 이름 매개변수(parameter) 리스트 환경(environment) 몸체(body) procedure 프로시저 이름(매개변수리스트) 선언부(declarations) 몸체(body) end 프로시저 이름

3 9.1 개요 매개변수 (parameter) 매개변수 결합 (parameter association)
위치 매개변수 결합(positional parameter association) 리스트에 나타난 위치로 바인딩 짧은 매개변수 리스트에 적합 이름 매개변수 결합(named parameter association) 이름으로 바인딩 매개변수 리스트가 길 때 적합 일부 매개변수 값을 디폴트로 줄 때 적합

4 9.1 개요 함수(Function) 함수 반환 값으로 허용되는 자료형 함수 이름으로 값을 반환
함수의 투명성 제공(환경 변화 없이) 함수 값 반환 방법 함수이름에 값 배정 RETURN 문으로 결과 값 반환 함수 반환 값으로 허용되는 자료형 FORTRAN, ALGOL 60 : 스칼라형(실수, 정수, 논리형 등) Pascal : 스칼라형, 포인터 PL/I : 스칼라형, 포인터, 문자열 Ada : 모든 자료형(배열, 레코드 등 포함): 반환문의 직교성 C, C++ : 스칼라형, 포인터(반환문의 직교성을 갖도록 제공)

5 9.1 개요 프로시저에서 사용 식별자 프로시저에 관해서 고려할 사항 형식 매개 변수 지역 변수 비지역 변수
비지역 변수 값을 바인딩하는 환경은? 실 매개 변수의 평가방법은? 형식 매개 변수와 실 매개 변수의 바인딩 방법은?

6 9.2 매개변수 평가와 전달기법 형식 매개 변수와 실매개 변수 실 매개 변수 형식 매개 변수
9.2 매개변수 평가와 전달기법 형식 매개 변수와 실매개 변수 실 매개 변수 호출 프로그램으로 전달하기 위하여 사용된 식 또는 이름 형식 매개 변수 부프로그램이 실행될 때, 실 매개 변수를 대신하여 사용되는 이름 일반적으로 지역 변수(또는 상수) 역할 매개 변수 명세 제공 최근 경향 형식매개변수 이름, 자료형, 바인딩 방법 등등

7 9.2 매개변수 평가와 전달기법 형식 매개 변수와 실 매개 변수의 사용 예 형식 매개 변수 - 피호출자 (callee)
9.2 매개변수 평가와 전달기법 형식 매개 변수와 실 매개 변수의 사용 예 형식 매개 변수 - 피호출자 (callee) 실 매개 변수 - 호출자 (caller) SUBROUTINE P(A , B) [Fortran] procedure P(A , B) [Algol] P:PROCEDURE(A , B); [PL/I] ▽ A P B [APL] CALL P(X , Y * Z) P(X , Y * Z) CALL P(X , Y * Z); X P Y × Z

8 9.2 매개변수 평가와 전달기법 형식 매개 변수와 실 매개 변수의 대응 방법 위치 대응 이름 대응
9.2 매개변수 평가와 전달기법 형식 매개 변수와 실 매개 변수의 대응 방법 위치 대응 형식 매개 변수와 실 매개 변수가 순서대로 대응 예) procedure TEST(A, B : in REAL; C : in INTEGER); call TEST(0.1, 100.0, 50); 이름 대응 실 매개 변수에서 대응되는 형식 매개 변수 이름 사용 Ada 언어 예 : 위치 대응, 이름 대응 병행 사용 (위 procedure 선언문에서 다음 경우 모두 동일) TEST (A => 0.1, C => 50, B => 100.0); TEST (0.1, C => 50, B => 100.0); TEST (0.1, 100.0, 50);

9 9.2 매개변수 평가와 전달기법 참조 호출 (Call by reference, - by address, - by location) 실 매개 변수 주소를 대응되는 형식 매개 변수에 보내는 방법 procedure p (x, y) call p (a, b) 기법 적용 caller는 실 매개 변수의 주소를 계산하여 callee에게 전달 a b x y

10 9.2 매개변수 평가와 전달기법 예제) 참조 호출 기법의 사용 예
9.2 매개변수 평가와 전달기법 예제) 참조 호출 기법의 사용 예 p(x[i], y) 호출시 목적 코드 procedure p(a, b) {call by reference} begin a b * end x[i] 주소 ADDR1 y 주소 ADDR2 LDIND ADDR2 MULT @4 STIND ADDR1

11 9.2 매개변수 평가와 전달기법 값 호출(call by value) 기법 적용 형식 매개 변수의 지역 변수화
9.2 매개변수 평가와 전달기법 값 호출(call by value) 형식 매개 변수의 지역 변수화 실 매개 변수 값을 대응 지역 변수로 복사 특징 - 실 매개 변수 값 불변 call p (a, b) procedure p (x, y) 기법 적용 caller는 실 매개 변수 주소(또는 값) 전달 callee는 r-value를 형식 매개 변수의 기억 장소에 복사 이후 다른 지역 변수와 동일하게 취급 a b x y

12 9.2 매개변수 평가와 전달기법 값 호출 기법의 예제 procedure p(a, b) {call by value}
9.2 매개변수 평가와 전달기법 값 호출 기법의 예제 목적 코드 procedure p(a, b) {call by value} begin a b * end 실매개 변수값을 지역 변수인 형식 매개 변수에 복사 몸체부에 대한 코드 LDIND ADDR1 STORE a LDIND ADDR2 STORE b LOAF b MULT @4

13 9.2 매개변수 평가와 전달기법 결과 호출 기법 (call by result)
9.2 매개변수 평가와 전달기법 결과 호출 기법 (call by result) 피호출자가 반환 직전에 형식 매개 변수의 값을 대응되는 실 매개 변수에 복사 후 반환 형식 매개 변수 - 지역 변수 취급 형식 매개 변수의 초기 값 미정의(callee에서 정의) 값-결과 호출 기법 (call by value-result) 값 호출 기법과 결과 호출 기법을 함께 사용한 방법 기법 적용 callee 실행 시작 - 값 호출 기법 적용 callee 실행 끝 - 결과 호출 기법 적용

14 9.2 매개변수 평가와 전달기법 표 9.1 매개 변수 전달 기법에 따른 프로그램 예 procedure PRINT
9.2 매개변수 평가와 전달기법 표 9.1 매개 변수 전달 기법에 따른 프로그램 예 procedure PRINT integer y procedure INCR(x) integer x begin y x x + 2 end y INCR(y) write y 프로그램 실행 후 인쇄 값 (y) call by reference 적용 : 3 call by value-result 적용 : 2

15 9.2 매개변수 평가와 전달기법 이름 호출 기법 (Call by name)
9.2 매개변수 평가와 전달기법 이름 호출 기법 (Call by name) 형식 매개 변수의 이름이 사용될 때마다 그에 대응되는 실 매개 변수 자체가 사용된 것으로 간주 (필요한 r-value 또는 l-value를 매번 계산) 기법 적용 caller - 실 매개 변수의 r-value와 l-value 계산 routine (THUNK ) 작성 callee – 필요시 THUNK를 이용하여 필요한 값( r-value, l-value) 계산 단점 구현 난해 프로그램 판독성 난해

16 9.2 매개변수 평가와 전달기법 이름 전달 기법 예제 call EXCHG(J, N(J)) 의 해석
9.2 매개변수 평가와 전달기법 이름 전달 기법 예제 call EXCHG(J, N(J)) 의 해석 procedure EXCHG(X, Y) integer TEMP begin TEMP X X Y Y TEMP end Integer TEMP begin TEMP J J N(J) N(J) TEMP end 호출 시 J의 값 J0로 가정 참조 호출 : J N(J0 ) 이름 호출 : J N(J0) N(N(J0 )) J0

17 9.2 매개변수 평가와 전달기법 예제 9.2 매개변수의 전달에 아래 기법이 각각 사용되었다고 가정할 때, 출력되는 값을
9.2 매개변수 평가와 전달기법 예제 9.2 매개변수의 전달에 아래 기법이 각각 사용되었다고 가정할 때, 출력되는 값을 구하여라. Call by value Call by name Call by reference P : PROCEDURE ; DECLARE A(3), I ; /* A는 세 개의 원소를 갖는 배열 */ I = 1 ; /* =은 배정 연산자 */ A(1) = 2 ; A(2) = 4 ; /* A(I)가 실 매개 변수 */ CALL Q( A(I) ) ; END P ; Q : PROCEDURE( B );/* 형식 매개 변수 B는 */ /* 실매개변수 A(I)에 대응됨 A(I) = 3 ; /* 식별자 A와 I는 /* I = 2 ; /* 프로시져 P에서 상속 */ PUT LIST(B) ; /* B의 값을 인쇄 */ END Q ;

18 9.2 매개변수 평가와 전달기법 예제 9.3 매개변수의 전달이 아래 기법이 각각 사용되었다고 가정할 때, 출력되는 값을
9.2 매개변수 평가와 전달기법 예제 9.3 매개변수의 전달이 아래 기법이 각각 사용되었다고 가정할 때, 출력되는 값을 구하여라. Call by reference Call by value Call by name P : PROCEDURE ; DECLARE A ; A = 1 ; CALL Q(A) ; END P ; Q : PROCEDURE(B) ; DECLARE A,B ; A = 2 ; PUT LIST(B) ; END Q ;

19 9.2 매개변수 평가와 전달기법 예제 9.4 begin integer k integer array v
9.2 매개변수 평가와 전달기법 예제 9.4 다음 Algol 형태의 프로그램에서 매개 변수 전달 방법이 아래 (a), (b), (c), (d) 및 (e) 기법으로 사용되었을 경우,프로그램이 실행된 후의 v[3]과 v[4]의 최종값을 구하여라. (단, 미확정될 수도 있음) call by value call by reference (c) call by result (d) call by value result (e) call by name begin integer k integer array v procedure P(a) integer a a a + 1 v[k] k end v[3] v[4] k call P( v[k] )

20 9.3 형식 매개 변수 명세 실 매개 변수와 형식 매개 변수의 정적 형 검사 형식 매개 변수 명세표 요구 형식 매개 변수 명세
실 매개 변수와 형식 매개 변수의 정적 형 검사 형식 매개 변수 명세표 요구 형식 매개 변수 명세 - 자료형, 전달 기법, 초기값, 대응 관계 등 각종 언어의 형식매개 변수 명세 Pascal : 자료형, 전달 기법 ( 값 전달 기본, var 선언 - 참조 전달, 값-결과 전달) Algol 60 : 전달 기법(이름전달 기본, value 선언 - 값 전달) Ada : 전달 기법 - 예약어 in(값 전달), out(결과 전달), in out (값-결과 전달) in - 지역 상수 취급 (지역 변수 취급 안함) 형식 매개 변수 자료형 선언 형식 매개 변수의 디폴트(초기) 값 선언 가능 (지역 상수인 in mode도 가능) Ada 함수는 투명성을 위해 in 모드만 가능

21 9.4 부작용과 이명 프로그래밍 언어의 유해한 특징 GOTO 문 포인터 사용 : 이명 발생 유도
부수효과 (side effect) 이명(aliasing)

22 9.4 부작용과 이명 부수 효과(side effect) 단위 프로그램간의 의사 소통 방법 참조 전달기법, 이름 전달기법 단점
비지역 변수 접근 부수효과 이용 참조 전달기법, 이름 전달기법 실 매개 변수 값 변화(부수효과) 예기치 못한 결과 발생(심각한 오류 발생) 단점 프로그램 판독성 저하 심각한 오류 발생 함수의 투명성 상실

23 9.4 부작용과 이명 이 명(aliasing) call p(a,a) procedure p(x,y) ; x := x + 1 ;
동일한 기억 장소를 함께 사용하고 있는 다른 이름 한 변수 값 변화 동일장소 사용하는 다른 변수의 값 변화 이명의 효과(aliasing effect) 초기 언어 : 효율적 기억 장소 사용을 위해 이명 허용 예) Fortran의 EQUIVALENCE, Cobol의 REDEFINES, C의 union 등 * x, y가 서로 이명 관계 call p(a,a) procedure p(x,y) ; x := x + 1 ; y := x + y ; end p 프로시저 호출에서 발생되는 이명 예(참조호출)

24 9.5 연산자 중복 정의 중복 정의(overloading) 한 개체(식별자, 함수 이름, 연산자)가 두 가지 이상의 개념 갖음
참조) 영역 구멍(hole in scope) 개념과 대조 사용 이유 자연스러운 원래의 일반적인 표기 사용을 지원 동일한 이름이나 연산자를 중복 사용하여 하나의 프로그램으로 합쳐도 혼동되지 않음 (문맥에 의한 구별) 중복정의 사용시 구별법 의미 확정을 문맥에서 알 수 있으면 컴파일러가 수행 문맥으로 구별이 될 수 없는 경우 사용자가 제약 사항을 명시(자격 부여) 사용자 중복 정의 제공(최근 언어)

25 9.5 연산자 중복 정의 Ada사용 예) “*” 연산자를 행렬 곱셈에 중복 정의 (사용자 정의)
이항 연산자(binary operator)“*”를 행렬 곱셈 연산자로 정의 자료형 MATRIX는 별도 선언 MATRIX 형 검사 - Ada 시스템에서 수행 A := B * C ; B, C가 MATRIX 형 - 위 함수 정의대로 수행 B, C가 integer 형 - 정수 곱셈 문맥으로 검사 B, C가 real 형 - 실수 곱셈 function "*"(X, Y : MATRIX) return MATRIX ;

26 9.5 연산자 중복 정의 중복 정의 연산자를 결정하기 위한 방법 COMPLEX C INTEGER I REAL R .
자료형 정보를 파스 트리의 각 노드에 붙인 것을 가정 (동적 또는 정적으로 결정) 트리의 단 노드들의 자료형 확정 간 노드의 자료형 결정 (complex) = + (real) * (integer) C 2 (integer) I R (real) COMPLEX C INTEGER I REAL R . C = 2 * I + R

27 9.5 연산자 중복 정의 표 9.2 Ada에서의 중복 표현 해결 예 procedure MAIN is ...
package P is function F(X : REAL) return RANGE ; P.F function G(X : DOMAIN) return REAL ; P.G function K(X : DOMAIN) return BOOLEAN ; -- P.K end P; function F(X : BOOLEAN) return RANGE ; MAIN.F function G(X : DOMAIN) return BOOLEAN ; -- MAIN.G function K(X : DOMAIN) return REAL ; MAIN.K S : DOMAIN ; T : RANGE ; U : BOOLEAN ; V : REAL ; use P; begin T := F(V) ; -- P.F(V)를 의미 T := F(U) ; -- MAIN.F(U)를 의미 T := F(K(S)) ; -- MAIN.F(P.K(S))인지 P.F(MAIN.K(S))인지 모호함 T := F(G(S)) ; -- MAIN.F(MAIN.G(S))인지 P.F(P.G(S))인지 모호함 end

28 9.6 포괄 기능 (Generic Functions)
포괄 프로시저 (generic procedure) 하나 이상의 요소를 매개변수로 받아들여 실 프로시저를 생성할 수 있는 프로시저 틀(procedure templates) 컴파일 시간에 실 매개 변수가 대체되어 실 프로시저를 발생 코딩의 오류 감소 프로그램의 길이 축소 추상화 개념 제공 ELI, Simula, CLU (자료형에 따른 프로시저들 생성)

29 9.6 포괄 기능 (Generic Functions)
Ada의 부프로그램이나 패키지에서 사용되는 포괄 설비 매크로(macro)의 확장된 개념 프로그램 생성 틀 (자체가 호출될 수 없음) 실 프로시저 : 번역시 정적 생성 (instantiation)

30 9.6 포괄 기능 (Generic Functions)
표 9.3 Ada에서의 포괄 프로시저 예 포괄 프로시저를 사용하여 실 프로시저를 생성시키는 방법 프로시저의 사용 generic type ITEM is private; procedure SWAP(X, Y : in out ITEM) is TEMP : ITEM ; begin TEMP := Y ; Y := X ; X := TEMP ; end ; procedure SWAPINTEGER is new SWAP(INTEGER) ; procedure SWAPREAL is new SWAP(FLOAT) ; SWAPINTEGER(A, B) ; SWAPREAL(P, Q) ;

31 9.6 포괄 기능 (Generic Functions)
포괄 프로시저 SWAP에 중복 표현을 함께 사용 EXCHG (A, B) 의 해석 A, B의 자료형에 따라 정수형, 문자형, 실수형, 부울형 SWAP 프로시저 결정 포괄 기능 제공 설계 고려 사항 포괄기능 사용 가능 연산은 ? Ada - procedure, function, package procedure EXCHG is new SWAP(INTERGER) ; procedure EXCHG is new SWAP(FLOAT) ; procedure EXCHG is new SWAP(BOOLEAN) ; procedure EXCHG is new SWAP(CHARACTER) ;

32 9.7 코루틴 (Coroutines) 코루틴 A B 호출된 프로그램의 수행이 완전히 끝나기 전에 타 프로시저
Resume A B Resume B A 코루틴 호출된 프로그램의 수행이 완전히 끝나기 전에 타 프로시저 (호출 프로시저 포함)로 제어를 넘겼다가 재개(resume)할 수 있는 프로시저

33 9.7 코루틴 (Coroutines) (1) A의 resume 문장 다음 위치를 A의 제어 장소에 기억 특징
코루틴은 제어를 넘겨 받으면 프로시저의 일부만 실행 제어의 반환은 실행 일시 정지 후에 제어를 받으면 정지된 위치에서 실행 재개(resume) 프로시저들간의 관계가 주종 관계가 아님 coroutine A에서 resume B 문장 실행 시 수행 작업 (1) A의 resume 문장 다음 위치를 A의 제어 장소에 기억 (2) coroutine B의 실행 위치를 알기 위하여 B의 제어 장소의 값 참조 (3) B의 제어 장소의 참조된 값으로 제어 분기 코루틴은 이산 체계 시뮬레이션 언어의 범주에서 취급 경우에 따라 자연스러운 알고리즘 제공 기존 언어에서 시뮬레이션으로 간단히 해결

34 슬라이드 쇼가 끝났습니다.

35 용 어 정리

36 부프로그램 (subprogram) 용어 국제 표준 규격 15.06.03 subprogram 부프로그램
A module that has an identifier and that is invoked into the control flow from another program or by another module by means of a specific language construct and from which the control flow returns to the invoking program or module 식별자를 가지고 있고 특정 언어 구성자를 이용하여 다른 모듈에 의해서 호출되거나, 다른 프로그램에서의 제어 흐름(control flow)속으로 호출되는 모듈로서 그 모듈에서부터 제어 흐름은 호출한 프로그램이나 모듈로 변환된다.

37 parameter (in programming language) 매개 변수 (프로그래밍 언어에서)
용어 국제 표준 규격 parameter (in programming language) 매개 변수 (프로그래밍 언어에서) A language construct for passing data objects or data values between modules. 모듈 간에 자료 객체나 자료값을 넘겨주기 위한 언어 구성자

38 매개 변수 결합 (parameter association)
용어 국제 표준 규격 parameter association 매개 변수 결합 The association between formal parameters and their corresponding actual parameters in a call or generic instantiation. 호출 또는 포괄 인스턴스화 (generic instantiation) 할 때 형식 매개 변수와 그에 대응되는 실매개 변수 간의 결합

39 위치 매개 변수 결합 (positional parameter association)
용어 국제 표준 규격 positional parameter association 위치 매개 변수 결합 In a subprogram call, the correspondence of an actual parameter with a formal parameter in the same position in the declaration of the subprogram. <Note> Contrast with named parameter association. 부프로그램 호출에서, 부프로그램의 선언에서 주어진 위치에 따라 형식 매개 변수와 실매개 변수를 대응시키는 방법 <주> 이름 매개 변수 결합과 대조를 이룸

40 이름 매개 변수 결합 (named parameter association)
용어 국제 표준 규격 named parameter association assignment by name 이름 매개 변수 결합 In a subprogram call, the explicit naming of the formal parameters corresponding to actual parameters to establish parameter association. <Note> 1. In named parameter association, actual parameters can be given in any order. 2. Contrast with positional parameter association. 부프로그램 호출에서, 매개 변수 결합을 이루기 위해 실매개 변수에 대응하는 형식 매개 변수의 명시적인 이름을 부여하는 방법 <주> 1. 이름 매개 변수 결합에서 실매개 변수는 어떤 순서로나 주어질 수 있다. 2. 위치 매개 변수와 대조를 이룸

41 (in programming language)
함수 (function) 용어 국제 표준 규격 function (in programming language) 함수 (프로그래밍 언어에서) A subprogram, usually with formal parameter, that produces a data value which it returns to the place of the invocation. <Note> A function may also produce other changes through the use of parameters. 불려진 곳으로 반환되어지는 자료값을 생성하는 부프로그램, 통상 형식매개변수를 가진다. <주> 함수는 또한 매개변수의 사용을 통해 다른 변화를 생성할 수도 있다.

42 실매개 변수 (actual parameter)
용어 국제 표준 규격 actual parameter actual argument 실매개 변수 A parameter, such as an expression, * identifier, or other language construct, used in a call or generic instantiation for association of a data object with a corresponding declaration. <Note> The corresponding declaration is called formal parameter. 식, 식별자 또는 이외의 언어 구성자들로서 된 매개 변수인데 호출 또는 포괄 인스턴스화 될 때, 이들 자료 객체와 대응된 선언과의 결합을 위하여 사용된다. <주> 대응된 선언을 형식 매개 변수라 부른다.

43 형식 매개 변수 (formal parameter)
용어 국제 표준 규격 formal parameter dummy argument 형식 매개 변수 A parameter, define in the declaration of certain modules, that is associated with an actual parameter in a call or generic instantiation. 어떤 모듈에서 선언하여 정의된 매개 변수인데, 호출 또는 포괄 인스턴스화 될 때 실매개 변수와 결합된다.

44 참조 호출 기법(call by reference, address, location)
용어 국제 표준 규격 call by reference call by address call by location 참조호출 주소호출 위치호출 A call in which the calling * module provides to the called module the addresses of the parameters to be passed. <Note> In a call by reference, the called module has the ability to change the values of the parameters stored by the calling module. 호출 모듈이 넘겨질 매개 변수의 주소를 호출된 모듈에 제공하는 호출 <주> 참조 호출에서는, 호출된 모듈이 호출 모듈이 저장한 매개 변수의 값을 바꿀 수 있는 능력을 가지고 있다.

45 값 호출 (call by value) 용어 국제 표준 규격 15.06.09 call by value 값 호출
A call in which calling * module provides to the called module the actual values of the parameters to be passed. <Note> In a call by value, the called module cannot change the values of the parameters stored by or for the calling module. 호출 모듈이 넘겨질 매개 변수의 실제값을 호출된 모듈에 제공하는 호출 <주> 값 호출에서는, 호출 모듈이 저장하거나 호출 모듈이 사용하도록 저장된 실매개 변수의 값을 호출된 모듈이 바꿀 수 없다.

46 부작용 (side effect) 용어 국제 표준 규격 15.08.03 side effect 부수효과, 부작용
Any indirect consequence caused by the execution of an expression, statement, or subprogram. <Note> Side effect may be intended, for example, to change the data value of a parameter passed by a function. 식, 문장, 부프로그램의 실행에 의해 야기되는 어떤 간접적인 결과 <주> 예를 들어 함수에 의해 전달된 매개 변수와 자료값을 바꾸는 것과 같이 의도적으로 부작용을 사용할 수 있다.

47 이 명 (aliasing) 용어 국제 표준 규격 15.03.19 alias 이명
An alternate identifier for a language construct. 언어 구성자에 대한 대체 식별자

48 중복 정의 (overloading) 용어 국제 표준 규격 15.01.08 중복 정의하다 to overload 과적하다.
To assign more than one meaning to a lexical token. <Example> The lexical token “+” can mean integer addition, real addition, set union, concatenation, etc. 하나의 어휘 토큰에 두 개 이상의 의미를 할당하다. <예> 어휘 토큰 “+”에 정수의 덧셈, 실수의 덧셈, 결합, 집합, 문자열 연결 등을 의미할 수 있다.

49 포괄적인 (generic) 용어 국제 표준 규격 15.06.28 generic 포괄적인
Pertaining to a language construct that serves as a template for creating an actual language construct for applicable data types in compliance with the rules of strong typing. 언어 구성자의 속성으로 강자료형의 규칙에 따라서 적용 가능한 자료형을 위한 실언어 구성자를 생성하기 위한 틀로 제공한다.

50 코루틴 (coroutines) 용어 국제 표준 규격 15.06.04 coroutine 포괄적인
A subprogram that, when called again after an execution, resumes at the location to which its previous execution returned. 어떤 실행 후에 다시 호출되었을 때, 이전의 실행이 반환된 위치에서 실행을 제거하는 부프로그램


Download ppt "Chapter 9 – 부 프로그램 Outline 9.1 개요 9.2 매개변수 평가와 전달기법 9.3 형식 매개변수 명세"

Similar presentations


Ads by Google