본문 바로가기

분류 전체보기89

11. 추상 자료형 자료 추상화 , 자료 캡슐화 - 자료를 연산과 함께 선언한다 - 정보 은닉 개념 -> readability 증가 - class, cluster, flavor, form, modula, package, structure ... 추상화(Abstraction) - 일부 속성 만으로 작업/객체들을 필요한 정도만 묘사하고 나머지는 숨기거나 삭제 - 유사성만 표현, 차이점은 삭제 - 기계에서 일이 수행되는 구체적이고 상세한 것을 모르고도 컴퓨터의 수행작업을 쉽게 이해하도록 해줌 자료형 : 객체들의 집합 + 객체에 작용하는 연산 집합(실체화, 구축, 소멸, 분리연산) 자료 추상화(Data abstraction) : 자료형 + 연산들을 캡슐화(encapsulation) - 강 자료형을 지원 - 객체들에 적용되는 연산들.. 2023. 6. 4.
10장 부 프로그램 부 프로그램 (SubProgram) - 일련의 행위나 계산을 추상화 하는 기법을 제공 - 실행과 분리해서 선언할 수 있는 블록(호출을 요구) - 식별자를 가지고 있고, 특정 언어 구성자를 이용하여 다른 모듈에 의해서 호출되거나, 다른 프로그램에서의 제어 흐름(control flow)속으로 호출되는 모듈 - 그 모듈에서부터 제어 흐름은 호출한 프로그램이나 모듈로 변환된다. ex) 함수(function) : 함수 이름으로 값 반환, 하나의 결과값만을 반환 서브루틴(subroutine, procedure) : 하나 이상의 결과값 배정, 환경 변환 등 주어진 목적의 완료 프로시저의 구성 1) 프로시저 이름 2) 매개변수(parameter)리스트 3) 환경(environment) 4) 몸체(body) 매개변수(p.. 2023. 6. 4.
9장 요약 기억 장소 할당 기법 1) 정적 기억장소 할당 -> 번역 시간 2) 동적 기억장소 할당 -> 실행 시간 // 스택 할당 , 힙 할당 단위 활성화 : 코드부(고정) + 활성 레코드(가변) 오프셋 : 활성 레코드의 상대 위치 1) 정적 변수 : 활성 레코드의 크기가 번역 시간에 결정된다(정적 바인딩) / 번역시간에 기억장소 할당 (정적 바인딩) 2) 준 정적 변수 : 활성 레코드의 크기가 번역 시간에 결정된다(정적 바인딩) / 실행시간에 기억 장소 할당 (동적 바인딩) 3) 준 동적 변수 : 활성 레코드의 크기가 실행 시간에 결정된다(동적 바인딩) / 실행시간에 기억장소 할당 (동적 바인딩) -> Stack으로 4) 동적 변수 : 활성 레코드의 크기가 실행시간에 결정되며 변할 수 있다(동적 바인딩) / 실행.. 2023. 6. 4.
9. 기억장소 배당 기억장소 할당 기법 : 프로그래밍 언어를 설계하고 구현하고자 할 때 우선 고려 사항 -> recursion 허용 , 배열 크기 변화 등 정적 기억 장소 할당 : 번역 시간 (적재 시간) (컴파일 타임, 로딩 타임) 기억장소 크기와 위치가 정적으로 고정 배열 접근 코드가 효율적 (크기 고정) 조건 : 사용된 모든 배열은 확정된 고정 크기로 선언 부프로그램은 되부름(recursion) 불가 Fortran, Cobol, Basic 등에서 사용 동적 기억 장소 할당 : 실행 시간 변수 제한 완화(자료형, 크기 등) 인터프리터 언어 - Lisp, Snobol4, APL Algol 형태 언어 - recursion 허용 정적, 동적 기억 장소 할당을 함께 수행하는 언어 1) ALGOL own 변수 : 정적할당 own.. 2023. 6. 3.
728x90