Notice
Recent Posts
Recent Comments
Link
관리 메뉴

코딩두의 포트폴리오

[2023실기] 3회 본문

정보처리기사/2023 실기

[2023실기] 3회

코딩두 2025. 12. 15. 16:45

1. 다음 JAVA로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

class SuperObject {
    public void draw() {
        System.out.println("A");
        draw();
    }

    public void paint() {
        System.out.print("B");
        draw();
    }
}

class SubObject extends SuperObject {
    public void paint() {
        super.paint();
        System.out.print("C");
        draw();
    }

    public void draw() {
        System.out.print("D");
    }
}

public class Test {
    public static void main(String[] args) {
        SuperObject a = new SubObject();
        a.paint();
        a.draw();
    }
}

 

 

 

 

2. 다음 설명에 해당하는 용어를 [보기]에서 찾아 쓰시오.

- 인터넷 애플리케이션에서 사용자 인증에 사용되는 표준 인증 방법으로, 공개 API(Open API)로 구현되었다.
- 인터넷 사용자가 웹사이트나 애플리케이션에 비밀번호를 제공하지 않고 자신에게 접근 권한을 부여하여 사용할 수 있다.
- 2010년 ETF에서 1.0이 공식 표준안으로 발표되었다.

 

[보기]

OpenID IDEA OAuth SSPI
SASL PEAP OIDC JAAS

OAuth

 

 

 

3. 다음 C언어로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

#include <stdio.h>

main() {
    char* p = "KOREA";
    printf("1. %s\n", p);
    printf("2. %s\n", p + 1);
    printf("3. %c\n", *p);
    printf("4. %c\n", *(p + 3));
    printf("5. %c\n", *p + 4);
}

 

 

 

 

4. 다음 C언어 프로그램과 그 <실행결과>를 분석하여 괄호에 공통으로 들어갈 알맞은 답을 쓰시오.

#include <stdio.h>

struct insa {
    char name[10];
    int age;
    struct insa* impl_a;
    struct insa* impl_b;
};

main() {
    struct insa p1 = { "Kim", 28, NULL, NULL };
    struct insa p2 = { "Lee", 36, NULL, NULL };
    struct insa p3 = { "Park", 41, NULL, NULL };

    p1.impl_a = &p2;
    p2.impl_b = &p3;

    printf("%s\n", p1.impl_a->name);
    printf("%d\n", p2.impl_b->age);
}

<실행결과>

Lee
41

 

 

 

 

5. 리눅스 또는 유닉스에서 'a.txt' 파일에 대한 다음 <처리 조건>과 같이 권한을 부여하고자 한다. <처리 조건>을 준수하여 식을 완성하시오.

<처리 조건>

- 사용자에게 읽기, 쓰기, 실행 권한을 부여한다.
- 그룹에게 읽기, 실행 권한을 부여한다.
- 기타 사용자에게 실행 권한을 부여한다.
- 한 줄로 작성하고, 8진법 숫자를 이용한 명령문을 이용한다.

Chmod 751 a.txt

 

 

 

6. UML 다이어그램에 대한 다음 설명에서 괄호에 공통으로 들어갈 알맞은 용어를 쓰시오.

(          ) 다이어그램

- (          )은(는) UML 정적 모델링의 하나로, 관련 있는 객체들을 하나로 묶어 상위 개념으로 추상화한 것이다.
- 위의 그림과 같이 유스케이스나 클래스 등의 요소들을 그룹화하여 의존 관계를 표현하며, 대규모 시스템에서 주요 요소 간의 종속성을 파악하는데 사용한다.
- 시스템의 구조를 간략하게 표현할 수 있고 의존 관계를 명확하게 파악할 수 있어, 불필요한 의존 관계를 제거하거나 간략화함으로써 시스템의 복잡도를 낮추는 곳에도 사용할 수 있다.

패키지

 

 

 

7. 테스트 기법 중 다음과 같이 '평가 점수표'를 미리 정해 놓은 후 각 영역에 해당하는 입력값을 넣고, 예상되는 출력값이 나오는지 실제 값과 비교하는 명세 기반 테스트 기법으로 [보기]에서 찾아 쓰시오.

<평가 점수표>

평가점수 성적등급
90~100 A
80~89 B
70~79 C
0~69 D

 

<케이스>

테스트 케이스 1 2 3 4
점수범위 0~69 70~79 80~89 90~100
입력값 60 75 82 96
예상 결과값 D C B A
실제 결과값 D C B A

 

[보기]

Equivalence Partition Boundary Value Analysis Equivalence Value
Cause-Effect Graph Error Guess Comparison Test
Base Path Test Loop Test Data Flow Test

Equivalence Partition (동등 분할 기법)

 

 

 

8. <R>과 <S> 테이블에 대해 <SQL문>을 실행하였을 때 나타나는 결과를 작성하시오.

(SQL을 실행하였을 때 출력되는 속성명과 값들을 모두 답안에 적으시오.)

<R>

A B
1 a
2 b
3 c

 

<S>

A B
1 a
2 c
4 d

 

<SQL문>

SELECT A FROM R
UNION
SELECT A FROM S
ORDER BY A DESC;

A

4

3

2

1

 

 

 

9. 다음 C언어로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

#include <stdio.h>

int isPerfectNum(int num) {
    int sum = 0;
    for (int i = 1; i < num; i++) {
        if (num % i == 0)
            sum += i;
    }
    if (num == sum) return 1;
    else return 0;
}

main() {
    int r = 0;
    for (int i = 1; i <= 100; i++)
        if (isPerfectNum(i))
            r += i;
    printf("%d", r);
}

 

 

 

 

10. 네트워크 대한 다음 설명에 해당하는 용어를 쓰시오.

- 우리말로 번역하면 '네트워크 주소 변환' 이라는 의미의 영문 3글자 약어이다.
- 1개의 정식 IP 주소에 다량의 가상 사설 IP 주소를 할당 및 연결하는 방식이다.
- 1개의 IP 주소를 사용해서 외부에 접속할 수 있는 노드가 어느 시점에 1개로 제한되는 문제가 있으나, 이 때는 IP 마스커레이드(Masquerade)를 이용하면 된다.

NAT

 

 

 

11. 다음 설명에 해당하는 프로토콜을 쓰시오.

자료를 일정한 크기로 정하여 순서대로 전송하는 자료의 전송방식으로, 셀이라 부르는 53Byte의 고정 길이 패킷을 이용하여 처리가 단순하고 고속망에 적합하다. 또한 연속적으로 셀을 보낼 때 다중화를 하지 않고 셀 단위로 동기가 이루어지지만 경우에 따라 동기식 시간 분할 다중화를 사용하기도 한다. CBR, VBR의 처리가 가능하며, B-ISDN과 결합하여 서비스를 제공하기도 한다.

ATM(Asynchronous Transfer Mod), 비동기 전송 방식

 

 

 

12. 다음은 오류가 발생하는 JAVA 프로그램이다. 프로그램을 분석하여 오류가 발생하는 라인을 쓰시오.

class Person {
    private String name;
    public Person(String val) {
        name = val;
    }

    public static String get() {
        return name;
    }

    public void print() {
        System.out.println(name);
    }
}

public class Test {
    public static void main(String[] args) {
        Person obj = new Person("Kim");
        obj.print();
    }
}

 

 

 

 

13. 접근 통제(Access Control)에 대한 다음 설명에서 괄호(1~3)에 들어갈 알맞은 용어를 [보기]에서 찾아 쓰시오.

(  1  ) - 주체와 객체의 등급을 비교하여 접근 권한을 부여하는 방식이다.
- 시스템이 접근통제 권한을 지정한다.
- 데이터베이스 객체별로 보안 등급을 부여할 수 있다.
- 사용자별로 인가 등급을 부여할 수 있다.
(  2  ) - 사용자의 역할에 따라 접근 권한을 부여하는 방식이다.
- 중앙관리자가 접근통제 권한을 지정한다.
- 임의 접근통제와 강제 접근통제의 단점을 보완하였다.
- 다중 프로그래밍 환경에 최적화된 방식이다.
(  3  ) - 데이터에 접근하는 사용자의 신원에 따라 접근 권한을 부여하는 방식이다.
- 데이터 소유자가 접근통제 권한을 지정하고 제어한다.
- 객체를 생성한 사용자가 생성된 객체에 대한 모든 권한을 부여받고, 부여된 권한을 다른 사용자에게 허가할 수도 있다.

 

[보기]

DAC (Discretionary Access Control) MAC (Mandatory Access Control) RBAC (Role Based Access Control)

1. MAC (강제 접근 제어)

2. RBAC (역할 기반 접근 제어)

3. DAC (임의 접근 제어)

 

 

 

14. 다음 JAVA로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'정보처리기사 > 2023 실기' 카테고리의 다른 글

[2023실기] 2회  (0) 2025.12.15
[2023실기] 1회  (0) 2025.12.14