본문 바로가기

매개변수3

[Programming Language] 6. 부프로그램(Subprogram) (3) 직전글 2023.07.29 - [Language] - [Programming Language] 6. 부프로그램(Subprogram) (2) - 매개변수 전달 방법의 구현 대부분의 현대 프로그래밍 언어에서 매개변수 전달은 런타임 스택(run-time stack)을 통하여 이루어짐. 런타임 스택은 시스템 프로그램에 의하여 초기화되고 유지 관리됨. 런타임 스택은 부프로그램 제어 연결과 매개변수 전달을 위해 광범위하게 사용됨. (이후 관련 내용 나올 예정) 이하에서는 스택을 통하여 모든 매개변수가 전달된다고 가정함. 1. 값 전달 매개변수 값을 스택 장소에 복사하고, 스택 장소는 대응되는 형식 매개변수의 기억장소로 사용됨. 2. 결과 전달 매개변수 값 전달의 반대로 구현함. 결과 전달 실 매개변수에 배정된 값이.. 2023. 7. 30.
[Programming Language] 6. 부프로그램(Subprogram) (2) 직전글 2023.07.25 - [Language] - [Programming Language] 6. 부프로그램(Subprogram) (1) ● 부프로그램의 설계 고려 사항 - 주요 설계 고려 사항들 지역변수의 정적/동적 할당 여부 부프로그램의 정의가 중첩(Nested)될 수 있는가에 대한 여부 매개변수 전달 방법의 선택 부프로그램의 이름이 매개변수로 전달될 수 있는가에 대한 여부 부프로그램의 이름이 매개변수로 전달되고 부프로그램이 중첩되는 것이 허용된다면, 매개변수로 전달된 부프로그램의 올바른 참조 환경에 대한 문제가 제기됨 부프로그램을 중복 또는 포괄형 부프로그램으로 허용하는가에 대한 여부 중복 부프로그램 : 동일 참조 환경 내에서 다른 부프로그램과 같은 이름(+ 다른 프로파일)을 갖는 부프로그램 포괄.. 2023. 7. 29.
[Programming Language] 6. 부프로그램(Subprogram) (1) 직전글 2023.07.16 - [Language] - [Programming Language] 5. 문장 수준의 제어 구조 ● 서론 프로그래밍 언어에서 두 개의 기본적인 추상화 도구로는 프로세스 추상화 도구인 "부프로그램(함수)"와 데이터 추상화 도구인 "클래스"가 있음. 초창기 고급 언어에서는 프로세스 추상화만 반영했음. 명령문장의 묶음을 부프로그램으로 작성 및 재사용함. 이러한 재사용은 메모리 공간과 코딩 시간을 포함하여 절약을 가져왔으며, 프로그램의 가독성을 증가시킴. 또한, 이러한 재사용은 추상화라고 할 수 있음. 부프로그램 세부 사항이 부프로그램을 호출하는 문장에 의해서 대체되기 때문임. 객체지향 언어의 메소드도 부프로그램과 밀접한 관계가 있음. 메소드와 부프로그램의 차이점은 메소드가 호출되는 .. 2023. 7. 25.