정보처리기사 프로그래밍 언어 활용 기출변형문제 50제
정보처리기사 프로그래밍 언어 활용 과목 문항입니다. 각 문항의 정답과 해설이 바로 아래에 함께 있습니다.
이 과목에서 나오는 것
언어 기초와 운영체제, 네트워크가 한 과목에 모여 있습니다. 언어 기초는 변수와 자료형, 조건문과 반복문, 반복을 즉시 벗어나는 명령어, 배열, 함수, 클래스와 인스턴스, 예외 처리 구문, 포인터가 easy로 나옵니다. hard에서는 실제 코드 해석이 등장하는데 유형이 정해져 있습니다. 나머지 연산의 결과, 증감연산자를 섞은 식의 값, 연산자 우선순위, 값이 아니라 주소를 넘겨 원본을 바꾸는 호출 방식, 초기화 값을 일부만 준 배열의 나머지 원소 값, static 변수의 성질, 상속 키워드, 예외 발생과 무관하게 항상 실행되는 블록, 파이썬 리스트의 특징입니다. 운영체제 쪽은 교착상태의 필요 조건, 대기 시간과 서비스 시간을 함께 고려하는 스케줄링 기법, 페이지 교체가 빈번하게 일어나는 현상, 프로세스와 스레드의 비교가 나옵니다. 네트워크 쪽은 OSI 7계층과 각 계층의 역할, 계층을 순서대로 나열하는 문항, 신뢰성을 보장하는 전송 계층 프로토콜과 그렇지 않은 프로토콜의 비교, 도메인 이름을 주소로 바꾸는 시스템, 서브넷 마스크로 계산하는 사용 가능 호스트 수가 다뤄집니다.
코드 문항은 문법을 폭넓게 익히는 대신 출제되는 유형만 반복하는 편이 효율적입니다. 증감연산자, 나머지 연산, 배열 부분 초기화, static, 예외 처리 블록 다섯 가지를 직접 손으로 계산해 보세요. OSI 7계층은 계층 번호와 이름, 대표 장비, 대표 프로토콜을 네 열로 적어두면 이 과목뿐 아니라 5과목의 보안 장비 문항까지 함께 정리됩니다.
문제와 해설
- 1프로그램 실행 중 값이 변할 수 있는 데이터를 저장하기 위해 이름을 붙여 사용하는 메모리 공간을 무엇이라 하는가? 기본
- 주석(Comment)
- 변수(Variable)
- 함수(Function)
- 클래스(Class)
정답 2번 · 변수(Variable)
해설 변수는 프로그램 실행 중 값을 저장하고 필요할 때 읽거나 변경할 수 있도록 이름을 붙인 메모리 공간이다.
- 2정수를 저장하기 위해 사용하는 대표적인 자료형은? 기본
- boolean
- char
- float
- int
정답 4번 · int
해설 int는 정수형 데이터를 저장하기 위해 사용하는 대표적인 자료형이다. float는 실수형, char는 문자형, boolean은 논리형 자료형이다.
- 3참(true) 또는 거짓(false) 두 가지 값만을 가지는 자료형은? 기본
- String
- int
- double
- boolean
정답 4번 · boolean
해설 boolean 자료형은 참(true)과 거짓(false) 두 가지 값만을 저장할 수 있는 논리형 자료형이다.
- 4조건에 따라 프로그램의 실행 흐름을 분기시키는 대표적인 제어문은? 기본
- for문
- return문
- if문
- while문
정답 3번 · if문
해설 if문은 조건식의 참·거짓 결과에 따라 서로 다른 코드 블록을 실행하도록 흐름을 분기시키는 대표적인 조건 제어문이다.
- 5정해진 횟수만큼 특정 코드를 반복 실행하는 데 주로 사용하는 제어문은? 기본
- break문
- switch문
- for문
- if문
정답 3번 · for문
해설 for문은 초기값, 조건식, 증감식을 이용해 정해진 횟수만큼 코드를 반복 실행하는 대표적인 반복 제어문이다.
- 6조건식이 참인 동안 코드 블록을 계속 반복 실행하는 반복문은? 기본
- goto문
- switch문
- if문
- while문
정답 4번 · while문
해설 while문은 주어진 조건식이 참(true)인 동안 코드 블록을 반복 실행하는 제어문이다.
- 7반복문 실행 중 특정 조건에서 반복을 즉시 종료하고 빠져나오게 하는 명령어는? 기본
- case
- break
- continue
- return
정답 2번 · break
해설 break문은 반복문(for, while 등)이나 switch문의 실행을 즉시 중단하고 빠져나오게 하는 제어 명령어이다.
- 8동일한 자료형의 여러 데이터를 하나의 이름으로 묶어 순차적으로 저장하는 자료구조는? 기본
- 포인터(Pointer)
- 배열(Array)
- 함수(Function)
- 클래스(Class)
정답 2번 · 배열(Array)
해설 배열은 동일한 자료형의 여러 데이터를 연속된 메모리 공간에 하나의 이름(index)으로 묶어 저장하는 자료구조이다.
- 9특정 작업을 수행하는 코드의 묶음으로, 이름을 붙여 필요할 때마다 호출하여 재사용할 수 있게 하는 것은? 기본
- 변수(Variable)
- 주석(Comment)
- 배열(Array)
- 함수(Function)
정답 4번 · 함수(Function)
해설 함수는 특정 작업을 수행하는 코드를 하나의 이름으로 묶어, 필요할 때마다 호출하여 재사용할 수 있게 하는 프로그램 구성 요소이다.
- 10객체지향 프로그래밍에서 속성(데이터)과 메소드(동작)를 함께 정의하는 틀을 무엇이라 하는가? 기본
- 배열(Array)
- 함수(Function)
- 클래스(Class)
- 인터페이스(Interface)
정답 3번 · 클래스(Class)
해설 클래스는 객체가 가질 속성(데이터)과 메소드(동작)를 함께 정의한 틀(설계도)이며, 이 클래스를 바탕으로 실제 객체(인스턴스)를 생성한다.
- 11클래스를 바탕으로 실제 메모리에 생성된 실체를 무엇이라 하는가? 기본
- 인터페이스(Interface)
- 객체(Object, 인스턴스)
- 패키지(Package)
- 주석(Comment)
정답 2번 · 객체(Object, 인스턴스)
해설 객체(인스턴스)는 클래스라는 설계도를 바탕으로 실제 메모리에 생성된 실체를 의미한다.
- 12프로그램 실행 중 발생하는 오류(예외 상황)를 처리하기 위해 사용하는 구문(자바 기준)은? 기본
- package문
- try-catch문
- switch문
- for문
정답 2번 · try-catch문
해설 try-catch문은 프로그램 실행 중 발생할 수 있는 예외(오류)를 처리하기 위한 구문으로, try 블록에서 예외가 발생하면 catch 블록에서 이를 처리한다.
- 13메모리 상의 특정 주소 값을 저장하는 변수를 무엇이라 하는가? 기본
- 배열(Array)
- 포인터(Pointer)
- 구조체(Struct)
- 리스트(List)
정답 2번 · 포인터(Pointer)
해설 포인터는 데이터를 직접 저장하는 것이 아니라 다른 변수나 데이터가 저장된 메모리 주소 값을 저장하는 변수이다.
- 14네트워크 통신을 위한 국제 표준 참조 모델로, 통신 기능을 7개의 계층으로 나눈 것은? 기본
- OSI 7계층 모델
- ACID 모델
- TCP 3-way Handshake
- 관계형 데이터 모델
정답 1번 · OSI 7계층 모델
해설 OSI 7계층 모델은 네트워크 통신 기능을 물리, 데이터링크, 네트워크, 전송, 세션, 표현, 응용 계층의 7단계로 나눈 국제 표준 참조 모델이다.
- 15OSI 7계층 중 IP 주소를 이용해 최적의 경로(라우팅)를 선택하는 계층은? 기본
- 응용 계층
- 물리 계층
- 표현 계층
- 네트워크 계층
정답 4번 · 네트워크 계층
해설 네트워크 계층은 IP 주소를 기반으로 데이터의 목적지까지 최적의 경로를 선택(라우팅)하는 역할을 담당한다.
- 16인터넷에서 컴퓨터를 식별하기 위해 사용하는 숫자로 구성된 주소를 무엇이라 하는가? 기본
- MAC 주소
- URL
- IP 주소
- 도메인 네임
정답 3번 · IP 주소
해설 IP 주소는 인터넷에 연결된 각 장치를 식별하기 위해 부여되는 숫자로 구성된 주소이다.
- 17사람이 기억하기 쉬운 문자 형태의 인터넷 주소(예: www.example.com)를 IP 주소로 변환해주는 시스템은? 기본
- DHCP
- DNS(도메인 네임 시스템)
- SMTP
- FTP
정답 2번 · DNS(도메인 네임 시스템)
해설 DNS(Domain Name System)는 사람이 이해하기 쉬운 도메인 이름을 실제 컴퓨터가 통신에 사용하는 IP 주소로 변환해주는 시스템이다.
- 18웹 브라우저와 웹 서버 간에 하이퍼텍스트(웹 페이지) 문서를 주고받기 위해 사용하는 프로토콜은? 기본
- SMTP
- FTP
- SNMP
- HTTP
정답 4번 · HTTP
해설 HTTP(HyperText Transfer Protocol)는 웹 브라우저와 웹 서버 간에 하이퍼텍스트 문서를 요청하고 응답하는 데 사용되는 프로토콜이다.
- 19네트워크를 통해 파일을 업로드하거나 다운로드하기 위해 사용하는 프로토콜은? 기본
- ARP
- HTTP
- DNS
- FTP(File Transfer Protocol)
정답 4번 · FTP(File Transfer Protocol)
해설 FTP(File Transfer Protocol)는 네트워크를 통해 파일을 전송(업로드·다운로드)하기 위해 사용되는 프로토콜이다.
- 20운영체제에서 실행 중인 하나의 프로그램 단위를 무엇이라 하는가? 기본
- 캐시(Cache)
- 프로세스(Process)
- 커널(Kernel)
- 레지스터(Register)
정답 2번 · 프로세스(Process)
해설 프로세스는 운영체제에서 실행되고 있는 하나의 프로그램 인스턴스를 의미하며, 실행에 필요한 자원(메모리, CPU 등)을 할당받는다.
- 21하나의 프로세스 내에서 실행되는 흐름의 단위로, 자원을 공유하며 병행 처리를 가능하게 하는 것은? 기본
- 포인터
- 레지스터
- 인터럽트
- 스레드(Thread)
정답 4번 · 스레드(Thread)
해설 스레드는 하나의 프로세스 내에서 실행되는 더 작은 실행 흐름의 단위로, 프로세스의 자원을 공유하면서 여러 작업을 병행 처리할 수 있게 한다.
- 22CPU가 여러 프로세스 중 어떤 것을 먼저 실행할지 순서를 결정하는 것을 무엇이라 하는가? 기본
- 정규화
- 프로세스 스케줄링
- 메모리 매핑
- 가상화
정답 2번 · 프로세스 스케줄링
해설 프로세스 스케줄링은 운영체제가 CPU 자원을 여러 프로세스에 어떤 순서와 방식으로 할당할지 결정하는 작업이다.
- 23프로세스 스케줄링 기법 중 준비 큐에 도착한 순서대로 CPU를 할당하는 가장 단순한 방식은? 기본
- 우선순위 스케줄링
- SJF(Shortest Job First)
- 라운드 로빈(Round Robin)
- FCFS(First Come First Served)
정답 4번 · FCFS(First Come First Served)
해설 FCFS는 준비 큐에 먼저 도착한 프로세스에게 먼저 CPU를 할당하는 가장 단순한 비선점 스케줄링 방식이다.
- 24각 프로세스에게 일정한 시간(타임 슬라이스)만큼씩 CPU를 순환하며 할당하는 스케줄링 기법은? 기본
- FCFS
- SJF
- 라운드 로빈(Round Robin)
- HRN
정답 3번 · 라운드 로빈(Round Robin)
해설 라운드 로빈은 각 프로세스에게 정해진 일정 시간(타임 슬라이스)만큼 CPU를 할당하고, 시간이 지나면 다음 프로세스로 순환하는 선점형 스케줄링 기법이다.
- 25프로그램 실행 시 함수 호출과 지역 변수 저장 등에 사용되는, 후입선출 구조로 관리되는 메모리 영역은? 기본
- 코드(Code) 영역
- 힙(Heap) 영역
- 스택(Stack) 영역
- 데이터(Data) 영역
정답 3번 · 스택(Stack) 영역
해설 스택 영역은 함수 호출 정보와 지역 변수 등을 저장하며, 함수 호출과 반환에 따라 후입선출(LIFO) 방식으로 관리되는 메모리 영역이다.
- 26C언어에서 int a=7, b=2; 일 때, a % b 의 결과값은? 심화
- 0
- 1
- 3.5
- 3
정답 2번 · 1
해설 %는 나눗셈의 나머지를 구하는 연산자이다. 7을 2로 나누면 몫은 3, 나머지는 1이므로 7 % 2 = 1이다.
- 27C언어에서 int a=10; a = a++ + ++a; 를 수행한 후 a의 값으로 옳은 것은? (단, 컴파일러는 좌에서 우로 평가한다고 가정) 심화
- 20
- 23
- 22
- 21
정답 3번 · 22
해설 a++는 원래 값 10을 사용 후 a를 11로 증가시키고, ++a는 먼저 12로 증가시킨 후 12를 사용한다. 따라서 10 + 12 = 22가 a에 대입된다.
- 28다음 중 연산자의 우선순위가 가장 높은 것은? 심화
- 논리 연산자(&&, ||)
- 비교 연산자(<, >)
- 대입 연산자(=)
- 괄호 ( )
정답 4번 · 괄호 ( )
해설 괄호는 연산자 우선순위와 무관하게 가장 먼저 계산된다. 일반적인 우선순위는 괄호 > 산술 > 비교 > 논리 > 대입 순이다.
- 29다음 중 함수 호출 시 실제 매개변수의 메모리 주소를 전달하여, 함수 내부에서 원본 변수의 값을 변경할 수 있게 하는 방식은? 심화
- 결과에 의한 호출(Call by Result)
- 값에 의한 호출(Call by Value)
- 참조에 의한 호출(Call by Reference)
- 이름에 의한 호출(Call by Name)
정답 3번 · 참조에 의한 호출(Call by Reference)
해설 참조에 의한 호출은 인수의 메모리 주소(참조)를 전달하므로, 함수 내부에서 매개변수를 변경하면 호출한 곳의 원본 변수 값도 함께 변경된다.
- 30다음 중 OSI 7계층을 상위 계층에서 하위 계층 순으로 옳게 나열한 것은? 심화
- 응용-표현-세션-전송-네트워크-데이터링크-물리
- 물리-데이터링크-네트워크-전송-세션-표현-응용
- 물리-네트워크-데이터링크-전송-표현-세션-응용
- 응용-전송-네트워크-표현-세션-데이터링크-물리
정답 1번 · 응용-표현-세션-전송-네트워크-데이터링크-물리
해설 OSI 7계층은 상위에서 하위로 응용-표현-세션-전송-네트워크-데이터링크-물리 계층 순서로 구성된다.
- 31TCP/IP 프로토콜에서 데이터 전송 신뢰성(오류 검출·재전송, 흐름 제어)을 보장하는 전송 계층 프로토콜은? 심화
- UDP
- IP
- TCP
- ARP
정답 3번 · TCP
해설 TCP는 연결형 프로토콜로 순서 보장, 오류 검출과 재전송, 흐름 제어를 통해 신뢰성 있는 데이터 전송을 보장한다. UDP는 비연결형으로 신뢰성 보장 기능이 없다.
- 32다음 중 UDP(User Datagram Protocol)에 대한 설명으로 틀린 것은? 심화
- TCP보다 헤더 구조가 단순하여 오버헤드가 적다
- 비연결형(Connectionless) 프로토콜이다
- 연결 설정 과정을 거치며 데이터 전달의 순서를 보장한다
- 실시간 스트리밍처럼 속도가 중요한 서비스에 활용될 수 있다
정답 3번 · 연결 설정 과정을 거치며 데이터 전달의 순서를 보장한다
해설 UDP는 비연결형 프로토콜로 연결 설정 과정이 없고, 데이터 전달 순서나 도착을 보장하지 않는다. 순서 보장과 연결 설정은 TCP의 특징이다.
- 33다음 중 교착 상태(Deadlock)가 발생하기 위한 필요 조건에 해당하지 않는 것은? 심화
- 점유와 대기(Hold and Wait)
- 선점(Preemption) 가능
- 환형 대기(Circular Wait)
- 상호 배제(Mutual Exclusion)
정답 2번 · 선점(Preemption) 가능
해설 교착 상태의 4대 필요 조건은 상호 배제, 점유와 대기, 비선점(Non-preemption), 환형 대기이다. '선점 가능'은 오히려 교착 상태를 예방하는 조건이며 필요조건에 해당하지 않는다.
- 34프로세스 스케줄링 기법 중, 대기 시간과 서비스 시간을 함께 고려하여 우선순위를 계산하는 기법(응답률이 높은 순으로 처리)은? 심화
- HRN(Highest Response-ratio Next)
- FCFS
- 선입선출
- 라운드 로빈
정답 1번 · HRN(Highest Response-ratio Next)
해설 HRN은 (대기시간 + 서비스시간) / 서비스시간 으로 응답률을 계산하여, 응답률이 높은 프로세스를 우선 처리함으로써 SJF의 긴 작업 기아 문제를 보완한 기법이다.
- 35가상 메모리 관리 기법 중, 프로세스에 할당된 페이지 수보다 자주 참조하는 페이지 집합의 크기가 커서 빈번하게 페이지 교체가 발생하는 현상은? 심화
- 스래싱(Thrashing)
- 데드락(Deadlock)
- 세그멘테이션 폴트
- 오버플로우
정답 1번 · 스래싱(Thrashing)
해설 스래싱은 프로세스에 할당된 페이지 수(프레임 수)가 부족하여 페이지 교체가 지나치게 자주 발생해 시스템 성능이 급격히 저하되는 현상이다.
- 36다음 C언어 배열 선언 'int arr[5] = {1,2,3};' 에서 arr[3]과 arr[4]의 값은? 심화
- 정의되지 않음(오류)
- 0, 0
- 1, 2
- 3, 3
정답 2번 · 0, 0
해설 배열 크기보다 적은 개수로 초기화하면 나머지 요소는 자동으로 0으로 초기화된다. 따라서 arr[3]과 arr[4]는 모두 0이다.
- 37Java에서 클래스가 다른 클래스의 속성과 메소드를 물려받을 때 사용하는 키워드는? 심화
- implements
- extends
- static
- import
정답 2번 · extends
해설 Java에서 클래스 상속은 extends 키워드를 사용한다. implements는 인터페이스 구현에 사용되는 키워드이다.
- 38다음 중 프로세스와 스레드를 비교한 설명으로 틀린 것은? 심화
- 같은 프로세스 내의 스레드는 코드·데이터·힙 영역을 공유한다
- 프로세스는 최소 하나의 스레드를 가진다
- 한 프로세스 내의 스레드들은 서로 별도의 독립된 메모리 공간(주소 공간)을 갖는다
- 스레드는 프로세스보다 생성·전환 비용이 일반적으로 더 적다
정답 3번 · 한 프로세스 내의 스레드들은 서로 별도의 독립된 메모리 공간(주소 공간)을 갖는다
해설 같은 프로세스 내의 스레드들은 코드·데이터·힙 영역 등을 공유하며, 스택 영역만 독립적으로 가진다. 완전히 독립된 별도의 메모리 공간을 갖는 것은 프로세스 간의 특징이다.
- 39다음 중 서브넷 마스크 255.255.255.0을 사용하는 네트워크에서 표현 가능한 호스트(단말) 주소의 최대 개수(사용 가능 호스트 수)는? 심화
- 128개
- 256개
- 255개
- 254개
정답 4번 · 254개
해설 서브넷 마스크 255.255.255.0(/24)은 호스트 비트가 8비트이므로 2^8=256개의 주소가 가능하지만, 네트워크 주소와 브로드캐스트 주소를 제외하면 실제 사용 가능한 호스트 수는 254개이다.
- 40다음 중 정적 변수(static 변수)에 대한 설명으로 옳은 것은? 심화
- 함수 종료 시 즉시 메모리에서 해제되어 값이 사라진다
- 스택 영역에 저장되어 함수 호출과 함께 소멸된다
- 함수가 호출될 때마다 매번 초기값으로 다시 초기화된다
- 프로그램이 시작될 때 할당되어 프로그램이 종료될 때까지 값이 유지된다
정답 4번 · 프로그램이 시작될 때 할당되어 프로그램이 종료될 때까지 값이 유지된다
해설 정적(static) 변수는 프로그램 시작 시 할당되어 프로그램 종료까지 값이 유지되며, 함수가 여러 번 호출되어도 이전 값이 그대로 보존된다.
- 41다음 중 Java의 예외 처리 구문에서, 예외 발생 여부와 관계없이 항상 마지막에 실행되는 블록은? 심화
- catch 블록
- finally 블록
- try 블록
- throw 블록
정답 2번 · finally 블록
해설 finally 블록은 예외가 발생하든 하지 않든 관계없이 try-catch 구문의 마지막에 항상 실행되는 블록으로, 자원 해제 등의 마무리 작업에 사용된다.
- 42다음 중 Python에서 리스트(list) 자료형에 대한 설명으로 틀린 것은? 심화
- 인덱스를 이용해 특정 위치의 요소에 접근할 수 있다
- 여러 자료형의 값을 하나의 리스트에 함께 담을 수 있다
- 리스트는 생성 이후 크기와 원소를 변경할 수 없는 불변(immutable) 자료형이다
- append() 메소드로 요소를 추가할 수 있다
정답 3번 · 리스트는 생성 이후 크기와 원소를 변경할 수 없는 불변(immutable) 자료형이다
해설 Python의 리스트는 생성 후에도 원소의 추가·삭제·변경이 가능한 가변(mutable) 자료형이다. 변경이 불가능한(immutable) 대표적 자료형은 튜플(tuple)이다.
- 43다음 중 IPv4와 IPv6를 비교한 설명으로 틀린 것은? 심화
- IPv6는 IPv4보다 사용 가능한 주소 공간이 훨씬 넓다
- IPv4 주소는 점(.)으로 구분된 4개의 8비트 숫자로 표기한다
- IPv6는 IPv4의 주소 고갈 문제를 해결하기 위해 등장했다
- IPv4는 128비트, IPv6는 32비트 주소 체계를 사용한다
정답 4번 · IPv4는 128비트, IPv6는 32비트 주소 체계를 사용한다
해설 IPv4는 32비트, IPv6는 128비트 주소 체계를 사용한다. 보기의 비트 수 설명이 서로 반대로 되어 있어 틀린 설명이다.
- 44다음 C언어 코드의 실행 결과로 옳은 것은? int i, sum=0; for(i=1; i<=5; i++) { sum += i; } printf("%d", sum); 심화
- 15
- 25
- 10
- 5
정답 1번 · 15
해설 1부터 5까지의 합은 1+2+3+4+5=15이므로 sum에는 최종적으로 15가 저장되어 출력된다.
- 45다음 중 접근 제어자(Access Modifier)에 대한 설명으로 틀린 것은? 심화
- public으로 선언된 멤버는 해당 클래스 내부에서만 접근할 수 있고 외부에서는 접근할 수 없다
- public으로 선언된 멤버는 다른 클래스에서도 자유롭게 접근할 수 있다
- private으로 선언된 멤버는 선언된 클래스 내부에서만 접근할 수 있다
- 접근 제어자는 정보 은닉(캡슐화)을 구현하는 데 사용된다
정답 1번 · public으로 선언된 멤버는 해당 클래스 내부에서만 접근할 수 있고 외부에서는 접근할 수 없다
해설 public 접근 제어자는 클래스 내부뿐 아니라 다른 클래스에서도 자유롭게 접근할 수 있도록 허용하는 가장 개방적인 접근 수준이다.
- 46다음 중 라운드 로빈(Round Robin) 스케줄링의 타임 슬라이스(Time Quantum)를 지나치게 짧게 설정했을 때 발생할 수 있는 문제로 옳은 것은? 심화
- 문맥 교환(Context Switching)이 빈번하게 발생하여 오버헤드가 커진다
- 모든 프로세스가 무한정 대기하며 절대 실행되지 않는다
- CPU를 전혀 사용하지 않게 된다
- 메모리 용량이 자동으로 늘어난다
정답 1번 · 문맥 교환(Context Switching)이 빈번하게 발생하여 오버헤드가 커진다
해설 타임 슬라이스가 지나치게 짧으면 프로세스 간 문맥 교환이 매우 빈번하게 일어나 그에 따른 오버헤드가 커져 전체 처리 효율이 떨어질 수 있다.
- 47다음 중 인터럽트(Interrupt)에 대한 설명으로 옳은 것은? 심화
- 네트워크 전송 속도를 측정하는 단위이다
- 메모리 용량을 늘리는 하드웨어 장치이다
- CPU 외부 또는 내부에서 발생한 이벤트를 CPU에 알려 현재 작업을 잠시 중단하고 해당 이벤트를 처리하게 하는 신호이다
- 프로그램의 컴파일 오류를 의미한다
정답 3번 · CPU 외부 또는 내부에서 발생한 이벤트를 CPU에 알려 현재 작업을 잠시 중단하고 해당 이벤트를 처리하게 하는 신호이다
해설 인터럽트는 CPU가 현재 수행 중인 작업을 일시 중단하고, 발생한 이벤트(입출력 완료, 오류 등)를 먼저 처리하도록 알리는 신호 메커니즘이다.
- 48다음 중 오버로딩(Overloading)과 오버라이딩(Overriding)을 비교한 설명으로 옳은 것은? 심화
- 오버라이딩은 매개변수를 다르게 하여 같은 클래스 내에 메소드를 여러 개 만드는 것이다
- 오버로딩은 같은 이름의 메소드를 매개변수의 개수나 타입을 다르게 하여 한 클래스 내에 여러 개 정의하는 것이다
- 오버라이딩은 매개변수의 타입이나 개수를 반드시 다르게 해야 한다
- 오버로딩은 반드시 상속 관계에서만 가능하다
정답 2번 · 오버로딩은 같은 이름의 메소드를 매개변수의 개수나 타입을 다르게 하여 한 클래스 내에 여러 개 정의하는 것이다
해설 오버로딩은 한 클래스 내에서 매개변수의 개수·타입을 다르게 하여 이름이 같은 메소드를 여러 개 정의하는 것이며, 오버라이딩은 상속 관계에서 상위 클래스의 메소드를 하위 클래스가 동일한 시그니처로 재정의하는 것이다.
- 49다음 중 세그멘테이션(Segmentation) 기법에 대한 설명으로 옳은 것은? 심화
- 프로그램을 항상 동일한 고정 크기로 분할하여 관리한다
- 프로그램을 논리적 의미 단위(모듈)로 나누어 관리하며, 세그먼트의 크기는 서로 다를 수 있다
- 메모리를 물리적 주소만으로 관리하며 논리적 단위와 무관하다
- 가상 메모리를 전혀 사용하지 않는 관리 기법이다
정답 2번 · 프로그램을 논리적 의미 단위(모듈)로 나누어 관리하며, 세그먼트의 크기는 서로 다를 수 있다
해설 세그멘테이션은 프로그램을 함수, 배열 등 논리적 의미 단위(세그먼트)로 나누어 관리하는 기법으로, 세그먼트마다 크기가 다를 수 있다. 고정 크기로 분할하는 것은 페이징(Paging) 기법이다.
- 50다음 중 이진수 00001010을 10진수로 변환한 값은? 심화
- 8
- 20
- 12
- 10
정답 4번 · 10
해설 00001010은 2^3+2^1 = 8+2 = 10이다.