학습개요
프로그래밍 언어의 구문과 구조, 부프로그램과 매개변수 등에 대해서 이해한다. 특히, 변수와 기억장소의 관계에 대해서 이해하며, 객체지향 프로그램의 특성에 대해서 공부한다.
학습목표
- 프로그래밍 언어의 기본적이고 공통적인 여러 요소들의 개념을 이해할 수 있다.
- 함수의 매개변수로 형식매개변수와 실매개변수의 관계, 그리고 값호출과 참조호출의 차이를 이해한다.
- 객체지향프로그램의 추상화와 캡슐화에 대해서 공부한다.
연습문제
- C언어에서 int x = 10 + “hello”; 의 명령이 주어졌을 때 어떤 오류나 경고가 뜨는가?
- 문법 오류 (syntax error)
- 실행 오류 (runtime error)
- 논리 오류 (logic error)
- 형 (type) 경고
정답 : 4
- 다음 중 프로그램에 관한 사고를 간소화하기 위한 방법이 아닌 것은?
- 암호화
- 추상화
- 코드 숨기기
- 캡슐화
정답 : 1
- 프로그래머에게 추상 자료형의 정의된 이름을 통해 객체를 호출하여 사용하도록 하는 윈도우(window)를 제공하는 것은 ?
- 클래스
- 캡슐화
- 메시지
- 메소드
정답 : 2
정리하기
- 변수의 유효범위
- 변수나 기타 식별자가 코드의 어떤 범위에서 유효한가 하는 유효 범위 결정 문제
(변수에 대한 저장장치의 할당이 유지되는가에 대한 문제)
.
- 변수나 기타 식별자가 코드의 어떤 범위에서 유효한가 하는 유효 범위 결정 문제
- 함수의 매개변수 :
- 매개변수(parameter) : 호출하는 프로그램과 호출되는 함수사이에서 주고받는 데이터
- 형식매개변수 : 호출되는 함수의 정의에 사용된 매개변수
- 실매개변수 : 호출하는 프로그램에서 함수를 호출하기 위해 사용된 매개변수
.
- 변수의 수명 : 변수가 값을 저장하기 위해 기억장소를 할당받고 있는 시간
. - 객체 지향 프로그램을 위한 추상 자료형
- 자료와 그 자료를 처리할 연산을 함께 선언할 수 있어야 하며, 선언은 구현에 의존적이어서는 안 되며, 연산의 선언에는 의미에 대한 명세가 포함되어야 함
- 정보 은닉(information hiding) 개념을 도입하여 프로그램을 쉽게 읽을 수 있어야 하고 유지 보수를 용이하게 해야 함
.
- 디스크 스케줄링 기법 :
- FCFS(First-Come First Served) 스케줄링 기법 : 먼저 도착한 디스크 접근 요청이 가장 먼저 서비스를 받는 방법
- SSTF(Shortest Seek Time First) 스케줄링 기법 : 현재 디스크 헤드의 위치에서 가장 짧은 트랙 탐색 거리(또는 탐색 시간)를 가진 디스크 접근 요청을 먼저 처리하는 방식
- SCAN 스케줄링 기법 : 한쪽 방향에서 가장 짧은 탐색거리의 디스크 접근 요청을 먼저 서비스하는 방식
- SLTF(Shortest Latency Time First) 스케줄링 기법 : 디스크 헤드가 특정 실린더에 도착하면 그 실린더 내의 모든 요구를 검사한 후 가장 짧은 회전지연을 갖는 요구들에게 우선적으로 서비스하는 방식
.
- 파일 구조 : 파일을 구성하는 레코드들이 보조기억장치에서의 배치 방법
. - 디스크 공간 할당 방식
- 연속 할당(contiguous allocation) 기법 : 파일이 보조기억장치에 저장될 때 연속된 물리적 공간을 할당받는 기법
- 불연속 할당(noncontiguous allocation) 기법 : 파일을 작은 단위로 나누고, 보조기억장치의 불연속적인 공간을 나누어 할당받는 기법