12. 속성과 관련된 연산(Operation)을 클래스 안에 묶어서 하
나로 취급하는 것을 의미하는 객체지향 개념은?
① Inheritance ② Class
③ Encapsulation ④ Association
<문제 해설>
클래스: 하나 이상의 유사한 객체들을 묶는다.
캡슐화: 서로 관련성이 많은 데이터들과 연산들을 묶는다.

----------------------------------------------------------------------------------------------------------

 

22. 다음과 같이 레코드가 구성되어 있을 때, 이진 검색 방법으로 14를 찾을 경우 비교되는 횟수는?

① 2 ② 3 ③ 4 ④ 5
<문제 해설>
이진 탐색 동작 방식
1. 배열의 중간 값을 찾음
2. 중간 값과 검색 값을 비교
2-1. 중간 값이 검색 값과 같으면 끝.
2-2. 중간 값보다 검색 값이 크다면 오른쪽 구간을 탐색
2-3. 중간 값보다 검색 값이 작다면 왼쪽 구간을 탐색
3.값을 찾거나 간격이 비었을 때까지 반복

- 이진검색(Binary Search) : low, middle, high 값을 사용
- 찾고자 하는 데이터를 중앙에 위치한 중간값과 비교하는 방법
- 데이터 목록은 반드시 사전에 오름차순으로 정렬되어 있어야 한다(전제조건)
목록 : 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15
찾는 값 : 14

 

low : 0
high : 14
middle : (0 + 14 / 2) → 7
arr[middle] : arr[7] → 8
8 <14 : low 변경
low : middle + 1 → 8
high : 14
middle : (8 + 14) / 2 → 11
arr[middle] : arr[11] → 12
12 <14 : low 변경
low : middle + 1 → 12
high : 14
middle : (12 + 14) / 2 → 13
arr[middle] : arr[13] → 14
14 == 14

----------------------------------------------------------------------------------------------------------

23. 소프트웨어 공학에서 워크스루(Walkthrough)에 대한 설명
으로 틀린 것은?
① 사용사례를 확장하여 명세하거나 설계 다이어그램, 원시코드, 테스트 케이스 등에 적용할 수 있다.
② 복잡한 알고리즘 또는 반복, 실시간 동작, 병행 처리와 같은 기능이나 동작을 이해하려고 할 때 유용하다.
③ 인스펙션(Inspection)과 동일한 의미를 가진다.
④ 단순한 테스트 케이스를 이용하여 프로덕트를 수작업으로 수행해 보는 것이다.
<문제 해설>
워크스루: 요구사항 명세서 작성자를 포함하여 사전 검토한 후에 짧은 검토 회의를 통해 결함을 발견
인스펙션: 요구사항 명세서 작성자를 제외한 다른 검토 전문가들이 요구사항 명세서를 확인하면서 결함을 발견.

----------------------------------------------------------------------------------------------------------

25. 테스트 케이스와 관련한 설명으로 틀린 것은?
① 테스트의 목표 및 테스트 방법을 결정하기 전에 테스트 케이스를 작성해야 한다.
② 프로그램에 결함이 있더라도 입력에 대해 정상적인 결과를 낼 수 있기 때문에 결함을 검사할 수 있는 테스
트 케이스를 찾는 것이 중요하다.
③ 개발된 서비스가 정의된 요구 사항을 준수하는지 확인하기 위한 입력 값과 실행 조건, 예상 결과의 집합으
로 볼 수 있다.
④ 테스트 케이스 실행이 통과되었는지 실패하였는지 판단하기 위한 기준을 테스트 오라클(Test Oracle)이라
고 한다.

- 구현된 소프트웨어가 사용자의 요구사항을 정확하게 준수했는지를 확인하기 위해 설계된 입력값, 실행 조건, 기대 결과
등으로 구성된 테스트 항목에 대한 명세서를 의미한다.
- 테스트의 목표 및 테스트 방법을 결정하고 테스트 케이스를 작성해야 한다.

----------------------------------------------------------------------------------------------------------

31. 알고리즘과 관련한 설명으로 틀린 것은?
① 주어진 작업을 수행하는 컴퓨터 명령어를 순서대로 나열한 것으로 볼 수 있다.
② 검색(Searching)은 정렬이 되지 않은 데이터 혹은 정렬이 된 데이터 중에서 키값에 해당되는 데이터를 찾
는 알고리즘이다.
③ 정렬(Sorting)은 흩어져있는 데이터를 키값을 이용하여 순서대로 열거하는 알고리즘이다.
④ 선형 검색은 검색을 수행하기 전에 반드시 데이터의 집합이 정렬되어 있어야 한다.
<문제 해설>
선형 검색 - 처음부터 끝까지 하나씩 순서대로 비교하며 원하는 값을 찾아내는 검색

이진검색 - 검색을 수행하기 전에 반드시 데이터의 집합이 정렬되어 있어야 한다.

----------------------------------------------------------------------------------------------------------

35. 단위 테스트(Unit Test)와 관련한 설명으로 틀린 것은?
① 구현 단계에서 각 모듈의 개발을 완료한 후 개발자가 명세서의 내용대로 정확히 구현되었는지 테스트한다.
② 모듈 내부의 구조를 구체적으로 볼 수 있는 구조적 테스트를 주로 시행한다.
③ 필요 데이터를 인자를 통해 넘겨주고, 테스트 완료 후 그 결과값을 받는 역할을 하는 가상의 모듈을 테스트
스텁(Stub)이라고 한다.
④ 테스트할 모듈을 호출하는 모듈도 있고, 테스트할 모듈이 호출하는 모듈도 있다.

<문제 해설>
상위 모듈의 역할을 하는 가상의 모듈을 테스트 드라이버(test driver)라 하고 그 역할은 테스트할 모듈을 호출하는 것이다..
즉 필요한 데이터를 인자를 통하여 넘겨주고, 테스트가 완료 된 후 그 결과 값을 받는 역할을 해준다.

테스트 완료 후 그 결과값을 받는 역할을 하는 가상의 모듈을 테스트 스텁(Stub)이라 한다- 통합테스트(Integration Test)

----------------------------------------------------------------------------------------------------------

37. 아래 Tree 구조에 대하여 후위 순회(Postorder) 한 결과는?


① a → b → d → c → e → g → h → f (전위)
② d → b → g → h → e → f → c → a (중위)
③ d → b → a → g → e → h → c → f (후위)
④ a → b → d → g → e → h → c → f
<문제 해설>
전위 운행 (PreOrder) => Root, Left, Right 순서
중위 운행 (InOrder) => Left, Root, Right 순서
후위 운행 (PostOrder) => Left, Right, Root 순서

----------------------------------------------------------------------------------------------------------

40. 다음 중 단위 테스트 도구로 사용될 수 없는 것은?
① CppUnit ② JUnit
③ HttpUnit ④ IgpUnit
<문제 해설>
CppUnit - C++ 프로그래밍 언어용 단위 테스트 도구
JUnit - 자바 프로그래밍 언어용 단위 테스트 도구

HttpUnit - 웹 브라우저 없이 웹 사이트 테스트를 수행하는 데 사용되는 오픈 소스 소프트웨어 테스트 프레임워크 입니다.

----------------------------------------------------------------------------------------------------------

42. 데이터베이스의 트랜잭션 성질들 중에서 다음 설명에 해당하는 것은?

① Atomicity ② Consistency
③ Isolation ④ Durability
<문제 해설>
트랜잭션의 특성
- 원자성(Atomicity) : 완전하게 수행 완료되지 않으면 전혀 수행되지 않아야 함
- 일관성(Consistency) : 시스템의 고정 요소는 트랜잭션 수행 전후에 같아야 함
- 격리성(Isolation, 고립성) : 트랜잭션 실행 시 다른 트랜잭션의 간섭을 받지 않아야 함
- 영속성(Durability, 지속성) : 트랜잭션의 완료 결과가 데이터베이스에 영구히 기억됨

----------------------------------------------------------------------------------------------------------

46. 물리적 데이터베이스 구조의 기본 데이터 단위인 저장 레코드의 양식을 설계할 때 고려 사항이 아닌 것은?
① 데이터 타입 ② 데이터 값의 분포 ③ 트랜잭션 모델링 ④ 접근 빈도
<문제 해설>
저장 레코드 양식 설계 시 고려 사항

- 데이터 타입, 데이터 값의 분포, 접근 빈도
오답피하기 | 트랜잭션 모델링
- 트랜잭션을 개념적 시스템 독립적으로 정의한다.
- 트랜잭션의 입출력 기능, 형태만 정의한다.
- 검색, 갱신, 혼합(검색, 갱신)

3번 보기 트랜잭션 모델링은 개념적 설계 단계에서 하는것

----------------------------------------------------------------------------------------------------------

49. 데이터베이스에서 릴레이션에 대한 설명으로 틀린 것은?
① 모든 튜플은 서로 다른 값을 가지고 있다.
② 하나의 릴레이션에서 튜플은 특정한 순서를 가진다.
③ 각 속성은 릴레이션 내에서 유일한 이름을 가진다.
④ 모든 속성 값은 원자 값(atomic value)을 가진다.
<문제 해설>
튜플의 순서는 정해져있지 않다.

----------------------------------------------------------------------------------------------------------

53. 키의 종류 중 유일성과 최소성을 만족하는 속성 또는 속
성들의 집합은?
① Atomic key ② Super key
③ Candidate key ④ Test key
<문제 해설>
Super key(슈퍼키) - 속성들의 집합으로 구성된 키, 릴레이션을 구성하는 모든 튜플들 중 슈퍼키로 구성된 속성의 집합과
동일한 값은 나타나지 않는다.
Candidate key(후보키) - 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합

----------------------------------------------------------------------------------------------------------

59. 관계 데이터 모델에서 릴레이션(Relation)에 포함되어 있는 튜플(Tuple)의 수를 무엇이라고 하는가?
① Degree ② Cardinality ③ Attribute ④ Cartesian product
<문제 해설>
- 차수(Degree) : 속성의 수
- 카디널리티(Cardinality) : 튜플의 수 (기수)

----------------------------------------------------------------------------------------------------------

61. C언어에서 문자열 처리 함수의 서식과 그 기능의 연결로 틀린 것은?
① strlen(s) - s의 길이를 구한다.
② strcpy(s1, s2) - s2를 s1으로 복사한다.
③ strcmp(s1, s2) - s1과 s2를 연결한다.
④ strrev(s)-s를 거꾸로 변환한다.
<문제 해설>
strcat - 문자열 연결 함수
strcmp - 문자열 비교

----------------------------------------------------------------------------------------------------------

62. 다음 C언어 프로그램이 실행되었을 때, 실행 결과는?

① 0 ② 2 ③ 5 ④ 14
<문제 해설>
a &&b -> 1 AND연산
a || b -> 1 OR연산
!c -> 0 NOT연산
1 + 1 + 0 = 2 (최종정답)
# C언어 연산자에서는 0이 아닌 모든값은 1(TRUE)로 본다.
그래서 a=1 b=1 c=1 로 바꿔서 대입해도 같은결과가 나온다

----------------------------------------------------------------------------------------------------------

63. 다음 C언어 프로그램이 실행되었을 때, 실행 결과는?

① 30 ② 60

③ 80 ④ 120
<문제 해설>
ob1.c[i] = i
ob2.c[i] = i + i
ob1.a = ob1.a + ob1.c[i = 0+2+4+6 + 8 = 20
ob2.a = ob2.a + ob2.c[i] = 0+4+8+12+16 = 40
20 + 40 = 60

----------------------------------------------------------------------------------------------------------

64. IP 프로토콜에서 사용하는 필드와 해당 필드에 대한 설명으로 틀린 것은?
① Header Length는 IP 프로토콜의 헤더 길이를 32비트워드 단위로 표시한다.
② Packet Length는 IP 헤더를 제외한 패킷 전체의 길이를 나타내며 최대 크기는 232-1비트이다.
③ Time To Live는 송신 호스트가 패킷을 전송하기 전 네트워크에서 생존할 수 있는 시간을 지정한 것이다.
④ Version Number는 IP 프로토콜의 버전번호를 나타낸다.
<문제 해설>
Total Packet Length (16 bits): IP 헤더 및 데이터를 포함한 IP 패킷 전체 길이를 바이트 단위로 길이를 표시. (최대값은
65,535 = 2^16 - 1)

----------------------------------------------------------------------------------------------------------

70. Python 데이터 타입 중 시퀀스(Sequence) 데이터 타입에 해당하며 다양한 데이터 타입들을 주어진 순서에 따라 저
장할 수 있으나 저장된 내용을 변경할 수 없는 것은?
① 복소수(complex) 타입 ② 리스트(list) 타입 ③ 사전(dict) 타입 ④ 튜플(tuple) 타입
<문제 해설>
리스트 타입 : 가변형
튜플 타입 : 불변형
[해설작성자 : comcbt.com 이용자]
시퀀스- 리스트 - 순서있고,가변 [1,2,3]
시퀀스- 튜플 - 순서있고,불변 (1,2,3)
세트 - 세트 - 순서없고,중복x {1,2,3}
맵 - 딕셔너리- 순서없고,key-value쌍
{'a':1,'b:2,'c':3}

----------------------------------------------------------------------------------------------------------

72. 다음 JAVA 프로그램이 실행되었을 때의 결과는?

① 1 ② 2 ③ 3 ④ 4
<문제 해설>
mx = a <b ? b : a;
a <b 조건문이 참일 경우 전자인 b, 거짓일 경우 후자인 a가 mx의 값이 됨
여기선 a = 1, b = 2 이기 때문에 a <b 는 참이므로 mx = b = 2
그 다음
if 절의 조건 mx == 1 은 mx = 2 이기 때문에 거짓, else 문으로 넘어감
mn = b <mx ? d : c;
b = 2, mx = 2 이기 때문에 b <mx 조건은 거짓,

그러므로 후자인 c 의 값이 mn에 대입됨
mn = c = 3
결과적으로, mn을 출력하게 되면 c의 값 3이 나온다

----------------------------------------------------------------------------------------------------------

75. IP 프로토콜의 주요 특징에 해당하지 않는 것은?
① 체크섬(Checksum) 기능으로 데이터 체크섬(Data Checksum)만 제공한다.
② 패킷을 분할, 병합하는 기능을 수행하기도 한다.
③ 비연결형 서비스를 제공한다.
④ Best Effort 원칙에 따른 전송 기능을 제공한다.
<문제 해설>
데이터 체크섬은 제공하지 않고, 헤더 체크섬만 제공한다.

----------------------------------------------------------------------------------------------------------

78. 한 모듈이 다른 모듈의 내부 기능 및 그 내부 자료를 참조하는 경우의 결합도는?
① 내용 결합도(Content Coupling)
② 제어 결합도(Control Coupling)
③ 공통 결합도(Common Coupling)
④ 스탬프 결합도(Stamp Coupling)
<문제 해설>
스탬프 결합도 - 두 모듈이 매개변수로 자료를 전달할 때, 자료구조 형태로 전달되어 이용될 때 데이터가 결합되어 있다고
한다.
내용 결합도 - 하나의 모듈이 직접적으로 다른 모듈의 내용을 참조할 때 두 모듈은 내용적으로 결합되어 있다고 한다.
공통 결합도 - 두 모듈이 동일한 전역 데이터를 접근한다면 공통결합 되어 있다고 한다.
결합도 - 두 모듈간의 상호작용, 또는 의존도 정도를 나타내는 것이다

----------------------------------------------------------------------------------------------------------

79. a[0]의 주소값이 10일 경우 다음 C언어 프로그램이 실행 되었을 때의 결과는? (단, int 형의 크기는 4Byte로 가정한다.)

① 14, 10 ② 14, 14
③ 18, 10 ④ 18, 14
<문제 해설>
{14 ,22, 30, 38 }
주소값 10,11,12,13 / 14,15,16,17 / 18,19,20,21 /
22,23,24,25
자리값 a(0) a(1) a(2) a(3)
*1개의 주소값 : 1Byte
printf("%u, ", &a[2]; a[2]자리의 첫번째 주소값 18
printf("%u", a); a[0]자리의 첫번째 주소값 10

----------------------------------------------------------------------------------------------------------

82. 어떤 외부 컴퓨터가 접속되면 접속 인가 여부를 점검해서 인가된 경우에는 접속이 허용되고, 그 반대의 경우에는
거부할 수 있는 접근제어 유틸리티는?
① tcp wrapper ② trace checker ③ token finder ④ change detector
<문제 해설>
tcp/ip 통신에서, tcp는 3-way handshake 를 통해 통신이 원활히 이뤄질 수 있는지를 확인합니다.

----------------------------------------------------------------------------------------------------------

83. 기기를 키오스크에 갖다 대면 원하는 데이터를 바로 가져올 수 있는 기술로 10㎝ 이내 근접 거리에서 기가급 속도
로 데이터 전송이 가능한 초고속 근접무선통신(NFC :Near Field Communication) 기술은?
① BcN(Broadband Convergence Network)
② Zing
③ Marine Navi
④ C-V2X(Cellular Vehicle To Everything)
<문제 해설>
근거리로 가까이 가면 지이이이잉 하고 소리가 난다고 외우세요.

----------------------------------------------------------------------------------------------------------

84. 취약점 관리를 위한 응용 프로그램의 보안 설정과 가장 거리가 먼 것은?

① 서버 관리실 출입 통제
② 실행 프로세스 권한 설정
③ 운영체제의 접근 제한
④ 운영체제의 정보 수집 제한
<문제 해설>
응용프로그램 취약점 관리
- 패치 관리 : 응용프로그램에 대한 패치 또는 서비스 팩 적용
- 응용프로그램 실행권한의 제한 필요
- 운영체제의 접근 제한
- 정보 수집 제한
- 불필요한 서비스 및 악성 프로그램의 확인 및 제거
- 시스템 무결성 검사 : 주요 파일을 검사하여 변경 내역 확

----------------------------------------------------------------------------------------------------------

93. 대칭 암호 알고리즘과 비대칭 암호 알고리즘에 대한 설명으로 틀린 것은?
① 대칭 암호 알고리즘은 비교적 실행 속도가 빠르기 때문에 다양한 암호의 핵심 함수로 사용될 수 있다.
② 대칭 암호 알고리즘은 비밀키 전달을 위한 키 교환이 필요하지 않아 암호화 및 복호화의 속도가 빠르다.
③ 비대칭 암호 알고리즘은 자신만이 보관하는 비밀키를 이용하여 인증, 전자서명 등에 적용이 가능하다.
④ 대표적인 대칭키 암호 알고리즘으로는 AES, IDEA 등 이 있다.
<문제 해설>
대칭 암호화 알고리즘은 키 교환이 필요하기 때문에 키를 교환하는 중 키가 탈취될 수 있다는 문제가 있다.
공개 암호화 방식에 비해 속도가 빠르다.

----------------------------------------------------------------------------------------------------------

95. 접근 통제 방법 중 조직 내에서 직무, 직책 등 개인의 역할에 따라 결정하여 부여하는 접근 정책은?
① RBAC ② DAC ③ MAC ④ QAC
<문제 해설>
(Role Based Access Control)
역할 기반 접근통제
권한이 있는 사용자들만 접근할 수 있는 보안 방법

DAC 임의접근통제 사용자또는 신분
MAC 강제접근통제. 미리 정해진 정책과 보안 등급

----------------------------------------------------------------------------------------------------------

96. COCOMO(Constructive Cost Model) 모형의 특징이 아닌 것은?
① 프로젝트를 완성하는데 필요한 man-month로 산정 결과를 나타낼 수 있다.
② 보헴(Boehm)이 제안한 것으로 원시코드 라인 수에 의한 비용 산정 기법이다.
③ 비교적 작은 규모의 프로젝트 기록을 통계 분석하여 얻은 결과를 반영한 모델이며 중소 규모 소프트웨어
프로젝트 비용 추정에 적합하다.
④ 프로젝트 개발유형에 따라 object, dynamic, function의 3가지 모드로 구분한다.
<문제 해설>
개발유형에 따라 조직형(Organic), 반분리형
(Semi-Detached), 내장형(Embedded)으로 구분한다.

<cocomo 모델>
보엠이 고안한 소프트웨어 개발비용 산정 방법.
man-month = 투입 노력
개발 유형에 따른 3종류 - organic, semidetached,
embedded
(기본, 중간, 내장형 모드)

----------------------------------------------------------------------------------------------------------

98. 시스템의 사용자가 로그인하여 명령을 내리는 과정에 대한 시스템의 동작 중 다음 설명에 해당하는 것은?

① Aging ② Accounting ③ Authorization ④ Authentication
<문제 해설>
3번은 권한부여입니다.

----------------------------------------------------------------------------------------------------------

99. 다음에서 설명하는 IT 기술은?

① SDN(Software Defined Networking)
② NFS(Network File System)
③ Network Mapper
④ AOE Network
<문제 해설>
NFS(Network File System) : 네트워크상에서 공유되는 파일시스템. 다른 원격 호스트의 파일 시스템을 로컬 디스크에 접근하듯 간단하게 접근하여 자신의 디렉토리처럼 사용할 수 있다
Network Mapper : 네트워크 보안을 위한 유틸리티. 네트워크의 보안을 위해 물리적 연결과 어떤 서버와 운영 체제가 작동
중인지 따위를 조사하는 응용 프로그램
AOE Network(Activity On Edge Network) : 어떤 프로젝트를마치기까지 수행되는 작업의 각 단계(상태)를 그래프의 정점
(Vertex)으로 표현하고, 작업 하나가 완료되어 다음 단계로 넘어가는 시간을 그래프의 간선(Edge)으로 나타낸 방향 그래프

----------------------------------------------------------------------------------------------------------

+ Recent posts