[2024 정보처리기사 실기 예상 문제] 필기 1과목 변형
[2024 정보처리기사 실기 예상 문제] 필기 2과목 변형
[2024 정보처리기사 실기 예상 문제] 필기 4과목 변형
[2024 정보처리기사 실기 예상 문제] 필기 5과목 변형
예상문제의 대부분이 객체지향과 관련된 문제들입니다. gof 패턴도 그렇고 solid원칙도 그렇고..
객체지향 프로그래밍 공부안해보신 노베나 비전공자분들은 뭔소린가 싶을거에요
사실 객체지향 프로그래밍(ex) 자바) 공부하시고 보시면 이게 뭔말인가 확 이해될 겁니다
1. 아래는 객체지향의 특징이다. 특징에 해당하는 것을 영어로 쓰시오.
ㄱ. 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것 |
ㄴ. 객체의 공통적인 속성과 기능을 추출하여 정의하는 것 |
ㄷ. 외부에서의 접근을 제한하기 위해 인터페이스를 제외한 세부 내용을 은닉하는 것 |
ㄹ. 하나의 메시지에 대한 각각의 객체가 가지고 있는 고유한 방법으로 응답할 수 있는 능력 |
ㄱ: Inheritance(상속)
ㄴ: Abstration(추상화)
ㄷ: Encapsulation(캡슐화)
ㄹ: Polymorphism(다형성)
2. 아래는 객체지향의 어떤 특징과 관련된 개념이다. 관련 개념을 영어로 쓰시오.
ㄱ. 한 클래스에 이름이 동일한 메서드가 중복 정의되어 있는 경우 |
ㄴ. 부모 클래스로부터 상속받은 메서드를 자식 클래스에서 재정의하는 것 |
ㄱ : overloading(오버로딩)
ㄴ : overriding(오버라이딩)
3. UML 확장 모델에서 스테레오 타입 객체를 표현할 때 사용하는 기호는 겹화살괄호(≪≫) 모양이다. 이 기호를 다른말로 뭐라고 하는지 쓰시오.
길러멧(Guillemet)
4. 여러 가지 문제에 대한 설계 사례로 분석하여 서로 비슷한 문제를 해결하기 위한 설계들을 분류하고 각 문제 유형별로 가장 적합한 설계를 일반화해 패턴으로 정립한 것을 말하는데 소프트웨어 설계에 대한 지식이나 노하우가 문제 유형별로 잘 구체화되어 있을 뿐 아니라, 동일한 문제 유형에 대해서는 그 해결 방법에 대한 지식이나 노하우가 패턴 형태로 충분히 일반화된 것이라고도 볼 수 있는 것을 뭐라고 하는지 쓰시오.
Gof 디자인 패턴
5. 아래는 4번의 종류를 나타낸 것이다. 해당하는 패턴을 영어로 쓰시오.
ㄱ. 클래스나 객체의 생성과 참조 과정을 정의하는 패턴 |
ㄴ. 구조가 복잡한 시스템을 개발하기 쉽도록 클래스나 객체들을 조합하여 더 큰 구조로 만드는 패턴 |
ㄷ. 클래스나 객체들이 서로 상호작용하는 방법이나 책임 분배 방법을 정의 하는 패턴 |
ㄱ. Creational Pattern(생성 패턴)
ㄴ. Structural Pattern(구조 패턴)
ㄷ. Behavioral Pattern(행위 패턴)
6. 다음은 5번의 종류중 하나이다. 해당하는 패턴을 영어로 쓰시오.
(단, 5번의 어떤 패턴에 해당하는지 까지 포함해서 쓰시오)
ㄱ. 특정 클래스에 객체 인스턴스가 하나만 만들어지도록 해주는 패턴 |
ㄴ. 구상 클래스에 의존하지 않고도 서로 연관되거나 의존적인 객체로 이루어진 제품군을 생산하는 인터페이스 |
ㄷ. 알고리즘의 골격을 정의하며 알고리즘 일부 단계를 서브클래스에서 구현할 수 있으며, 알고리즘의 구조는 그대로 유지하면서 알고리즘의 특정 단계를 서브클래스에서 재정의하는 패턴 |
ㄹ. 컬렉션의 구현 방법을 노출하지 않으면서 집합체 내의 모든 항목에 접근하는 방법을 제공하는 패턴 |
ㅁ. 객체를 생성할 때 필요한 인터페이스를 만들고 어떤 클래스의 인스턴스를 만들지는 서브클래스에서 결정하는 패턴 |
ㅂ. 객체의 내부 상태가 바뀜에 따라서 객체의 행동을 바꿀 수 있는 패턴 |
ㅅ. 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체에게 연락이 가고 자동으로 내용이 갱신되는 방식의 패턴 |
ㅇ. 객체에 추가 요소를 동적으로 더할 수 있고 서브클래스를 만들 때보다 훨씬 유연하게 기능을 확장할 수 있는 패턴 |
ㅈ. 특정 객체로의 접근을 제어하는 대리인(특정 객체를 대변하는 객체)을 제공하는 패턴 |
ㅊ. 알고리즘군을 정의하고 캡슐화해서 각각의 알고리즘군을 수정해서 쓸 수있 는 패턴 |
ㅋ. 특정 클래스 인터페이스를 클라이언트에서 요구하는 다른 인터페이스로 변환해서 인터페이스가 호환되지 않아 같이 쓸 수 없었던 클래스를 사용할 수 있게 도와주는 패턴 |
ㅌ. 객체를 트리구조로 구성해서 부분-전체 계층구조를 구현하는 패턴 |
ㅍ. 서브시스템에 있는 일련의 인터페이스를 통합 인터페이스로 묶어주고 고수준 인터페이스도 정의하므로 서브시스템을 더 편리하게 사용할수 있는 패턴 |
ㄱ. Singleton Pattern(생성 패턴)
ㄴ. Abstract Factory Pattern(생성패턴)
ㄷ. Template Method Pattern(행위 패턴)
ㄹ. iterator pattern(행위 패턴)
ㅁ. Factory method pattern(생성 패턴)
ㅂ. State Pattern(행위 패턴)
ㅅ. Observer Pattern(행위 패턴)
ㅇ. Decorator Pattern(구조 패턴)
ㅈ. Proxy Pattern(구조 패턴)
ㅊ. Strategy Pattern(행위 패턴)
ㅋ. Adapter pattern(구조 패턴)
ㅌ. Composite Pattern(구조 패턴)
ㅍ. facade pattern(구조 패턴)
무지성 암기하면 안되고 이게 뭔지 이해를 해야합니다
이해 안되면 아래링크 ㄱㄱ
7. 시스템 분석, 설계, 구현 등 시스템 개발 과정에서 시스템 개발자와 고객 또는 개발자 상호간의 의사소통이
원활하게 이루어지도록 표준화한 대표적인 객체지향 모델링 언어를 뭐라고 하는지 쓰시오.
UML(Unified Modeling Language)
8. 7번의 구성요소를 영어로 쓰시오.
사물(Things), 관계(Relationship), 다이어그램(Diagram)
9. 아래는 (7번정답) 다이어그램의 종류이다. 설명에 해당하는 것을 영어로 쓰시오.
(ㄱ) | 클래스와 클래스가 가지는 속성, 클래스 사이의 관계를 표현 |
(ㄴ) | 클래스에 속한 사물들, 즉 인스턴스(Instance)를 특정 시점의 클래스와 (ㄴ) 사이의 관계로 표현 |
(ㄷ) | 사용자의 요구를 분석하는 것으로, 기능 모델링 작업에 사용함 |
(ㄹ) | 상호 작용하는 시스템이나 객체들이 주고받는 메시지를 표현함 |
(ㅁ) | 시스템이 어떤 기능을 수행하는지 객체의 처리 로직이나 조건에 따른 처리의 흐름을 순서에 따라 표현 |
(ㅂ) | 하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호 작용에 따라 상태가 어떻게 변화하는지를 표현 |
(ㅅ) | 유스케이스나 클래스 등의 모델 요소들을 그룹화한 (ㅅ)들의 관계를 표현 |
(ㅇ) | 동작에 참여하는 객체들이 주고받는 메시지와 객체들 간의 연관 관계를 표현함 |
(ㅈ) | 결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현 |
(ㅊ) | 실제 구현 모듈인 (ㅊ) 간의 관계나 (ㅊ) 간의 인터페이스를 표현함 |
(ㄱ) | Class Diagram(구조) |
(ㄴ) | Object Diagram(구조) |
(ㄷ) | Use Case Diagram(행위) |
(ㄹ) | Sequence Diagram(행위) |
(ㅁ) | Activity Diagram(행위) |
(ㅂ) | State Diagram(행위) |
(ㅅ) | Package Diagram(구조) |
(ㅇ) | Communication Diagram(행위) |
(ㅈ) | Deployment Diagram(구조) |
(ㅊ) | Component Diagram(구조) |
10. 모델링 기법 중 하나로 그래픽으로 이를 표현한 분석 기법으로 같은 말로 “객체 모델링 기법”, “OMT” 그리고 “Object Modeling Technique” 라고도 칭하는 기법은?
럼바우(Rumbaugh) 분석 기법
11. 다음은 10번을 3단계로 나눈것이다. 빈칸을 영어로 작성하시오
(가) -> (나) -> (다) |
(Object Modeling)->(Dynamic Modeling)->(Functional Modeling)
일명 객동기
12. 11번의 (가)단계에 대한 설명이다. 빈칸을 영어로 작성하시오.
1) (a)와 (b)를 식별한다 |
2) (b)에 대한 자료를 사전에 작성한다 |
3) (b) 간의 관계를 정의한다 |
4) (a)의 속성과 연결 관계를 정의한다 |
5) (b) 계층화 및 (c)로 정의한다 |
6) 생성된 모형을 반복적으로 검증한다 |
(a) : 객체
(b) : 클래스
(c) : 모듈
13. 11번의 각 단계별로 사용되는 Diagram이 있다. 그것을 영어로 쓰시오.
(가)-Object Diagram
(나)-State Diagram
(다)-Data Flow Diagram(DFD)
14. 객체지향 기법에서 클래스들 사이를 나타내는 것이다. 해당하는 것을 영어로 쓰시오.
(단, ㄹ은 2가지 모두쓰시오)
ㄱ | 클래스들 사이의 ‘부분-전체(part-whole)' 관계 또는 ’부분(is-a-part-of)'의 관계로 설명되는 연관성을 나타내는 용어 |
ㄴ | 클래스들 사이의 is instance of 관계로 설명되는 연관성을 나타내는 용어 |
ㄷ | 클래스들 사이의 is member of의 관계로 설명되는 연관성을 나타내는 용어 |
ㄹ | 클래스들 사이의 is a |
ㄱ : Aggregation(집단화)
ㄴ: Classification(분류화)
ㄷ: Association(연관화)
ㄹ : Gerneralization(일반화), Specialization(특수화/상세화)
15. 소프트웨어 개발 시, 사용되는 분석 자동화 도구로 소프트웨어 개발 과정의 일부나 전체를 자동화하는 것을 영문 약어로 쓰시오.
CASE (Computer - Aided Software Engineering)
16. 시스템 분석 및 설계, 또는 문서화에 사용되는 기법으로 시스템 실행 과정인 입력, 처리, 출력의 기능을 표현한 용어를 영문약어로 쓰시오.
HIPO(Hierarchy Input Process Output)
17. 다음은 객체지향 분석 방법론이다. 설명에 해당하는 것을 보기에서 찾아 쓰시오.
ㄱ | 가장 일반적으로 사용되는 방법으로 분석 활동을 객체모델, 동적모델, 기능 모델로 나누어 수행하는 방법이다 |
ㄴ | 미시적, 거시적 개발 프로세스를 모두 사용하는 분석 방법으로 클래스와 객체들을 분석 및 식별하고 클래스의 속성과 연산을 정의한다 |
ㄷ | Use-Case를 강조하여 사용하는 방법이다. |
ㄹ | E-R 다이어그램을 사용하여 객체의 행위를 모델링하며 객체 식별, 구조 식별, 주제 정의, 속성과 인스턴스 연결 정의하고 연산과 메시지 연결 정의 등의 과정으로 주로 관계를 분석한다 |
ㅁ | 분석과 설계간 구분 없고 고객 명세서를 평가해서 설계 작업까지 연속적으로 수행한다 |
A. Wirfs-Brock 방법 B. Jacobson 방법 C. Rumbaugh 방법 D. Coad와 Yourdon 방법 E. Booch 방법 |
ㄱ : C(럼바우)
ㄴ : E(부치)
ㄷ : B(Jacobson)
ㄹ : D(Coad와 Yourdon)
ㅁ : A(Wirfs-Brock)
18. 객체를 생성하기 위한 인터페이스를 정의하여 어떤 클래스가 인스턴스화 될 것인지는 서브 클래스가 결정하도록 하는 것으로 Virtual-Constructor 패턴이라고도 불리는 디자인 패턴을 영어로 쓰시오.
Factory Method Pattern
19. 컴포넌트 설계 시 (가)에 의한 설계를 따를 경우 해당 명세에서는
(1)컴포넌트의 오퍼레이션 사용 전에 참이 되어야 할 선행조건
(2)사용 후 만족되어야 할 결과 조건
(3) 오퍼레이션이 실행되는 동안 항상 만족되어야 할 불변조건 등이 포함되어야 한다.
(가)에 들어갈 단어를 아래에서 찾아 쓰시오.
a. Contract b. Protocol c. Pattern d. Relation |
a. Contract(협약)
20. 아래는 UML 모델에서 특정한 관계를 나타내는 관계를 표현한 것이다. 각 번호에 해당하는 관계를 영어로 쓰시오.
1) Association
2) Generalization(또는 Inheritance)
3) Realization
4) Dependency
5) Aggregation
6) Composition
21. 다음은 객체지향 설계 원칙에 대한 설명이다. 해당하는 설명의 영문 약어를 쓰시오.
ㄱ | 서브타입(상속받은 하위 클래스)은 어디에서나 자신의 기반타입(상위클래스)으로 교체할 수 있어야 함을 의미하는 원칙 |
ㄴ | 한 클래스에 단 하나의 책임(기능)만 가져야 한다는 원칙 |
ㄷ | 클래스를 확장하는 것은 쉽게 변경은 어렵게 해야한다는 원칙 |
ㄹ | 클라이언트는 자신이 사용하지 않는 메서드와 의존관계를 맺으면 안되며 클라이언트가 사용하지 않는 인터페이스 때문에 영향을 받아서는 안된다는 원칙 |
ㅁ | 의존 관계 성립 시 추상성이 높은 클래스와 의존 관계를 맺어야 한다는 원칙 |
ㄱ : 리스코프 치환 원칙(LSP; Liskov Substitution Principle)
ㄴ : 단일 책임 원칙(SRP; single Responsibility Principle )
ㄷ : 개방-폐쇄 원칙(OCP; Open Closed Principle)
ㄹ : 인터페이스 분리 원칙(ISP; Interface Segregation Principle)
ㅁ : 의존 역전 원칙(DIP; Dependency Inversion Principle)
추천 블로그 : [개발 공부] SOLID 예제와 함께 이해하기 (tistory.com)
SRP는 클래스와 메서드가 하나의 역할만 하도록 한다
OCP은 확장할땐 open 수정할땐 closed
LSP 는 B가 A의 자식타입이면 부모 타입인 자식 타입인 B로 치환해도 작동에 문제가 없어야한다
ISP는 클라이언트는 자신이 사용하지 않는 인터페이스에 의존하면 안된다
DIP는 추상화에 의존해야하며 구현체에 의존하면 안된다
22. 자료흐름도(Data Flow Diagram)의 구성요소 4가지를 영어로 쓰시오.
process, data flow, data store, terminator
프로세스,자료 흐름도, 자료 저장소, 단말
23. 다음은 Data Dictionary에 사용되는표기 기호이다. 설명에 해당하는 것을 기호로 쓰시오.
ㄱ | 자료의 정의 |
ㄴ | 자료의 연결 |
ㄷ | 자료의 생략 |
ㄹ | 자료의 선택 |
ㅁ | 자료의 반복 |
ㅂ | 자료의 설명(주석) |
ㄱ : =
ㄴ : +
ㄷ : ()
ㄹ : []
ㅁ : {}
ㅂ : **
24. 다음은 유스케이스 다이어그램의 작성순서이다. (가)~(다)에 해당하는 것을 영어로 쓰시오.
1) (가) 식별 |
2) (나) 식별 |
3) (다) 정의 |
(가) Actor
(나) Usecase
(다) Relation
25. 다음은 유스케이스 구성요소와 관계에 대해 나타낸 것이다. 설명에 해당하는 것을 영어로 쓰시오.
1) 기본 use case 수행 시 특별한 조건을 만족할 때 수행할 usecase |
2) use case 와 actor의 관계 |
3) 시스템의 기능이 별도의 기능을 포함 |
4) 하위 use case/action이 상위 use case/actor에게 기능/역할을 상속받음 |
1) extend(확장)
2) Association(연관)
3) Include(포함)
4) Gerneralization(일반화)
26. 요구사항 개발 프로세스 4가지를 영어로 쓰시오.
( )->( )->( )->( ) |
( Elicitation )->( Analysis )->( Specification )->( Validation )
도출->분석->명세->확인
27. 서브시스템이 입력 데이터를 받아 처리하고 결과를 다른 시스템에 보내는 작업이 반복되는 아키텍처 스타일이 무엇인지 쓰시오.
파이프 필터 구조(Pipe-filter pattern)
28. 다음은 UML의 관계의 종류를 나타낸 것이다. 설명에 해당하는 것을 영어로 쓰시오.
ㄱ | UML 모델에서 한 객체가 다른 객체에게 오퍼레이션을 수행하도록 지정하는 의미적 관계 |
ㄴ | UML 모델에서 한 사물의 명세가 바뀌면 다른사물에 영향을 주며, 일반적으로 한 클래스가 다른 클래스를 오퍼레이션의 매개변수로 사용하는 경우에 나타나는 관계 |
ㄱ : Realization
ㄴ: Dependency
29. 다음은 설계 기법에 관한 설명이다. 해당하는 설계 기법을 영어로 쓰시오.
ㄱ | 계층 구조상에서 시스템의 주요 컴포넌트들을 찾고 그것을 낮은 수준의 컴포넌트들로 분해하는 것으로 단계적 정제라 하며 메인 모듈의 설계에서 시작하여 단계적으로 구체화시키는 것이다. 통합 검사 시 인터페이스가 이미 정의되어 있어 통합이 간단하며 레벨이 낮은 데이터 구조의 세부 사항은 설계초기 단계에서 필요하다. |
ㄴ | 가장 기본적인 컴포넌트를 먼저 설계한 다음 이것을 사용하는 상위 수준의 컴포넌트를 설계하는 것으로 최하위 수준에서 각각의 모듈들을 설계하고 이러한 모듈이 완성되면 이들을 결합하여 검사한다. -기존 컴포넌트들을 조합하여 시스템을 개발하는 경우에 적합한 방식이다. |
ㄱ : Top-down design(하향식 설계)
ㄴ: Bottom-up design(상향식 설계)
30. 명백한 역할을 가지고 독립적으로 존재할 수 있는 시스템의 부분으로 넓은 의미에서는 재사용되는 모든 단위라고 볼 수 있으며, 인터페이스를 통해서만 접근할 수 있는 것을 영어로 쓰시오.
Component(프로그래밍에 있어 재사용이 가능한 각각의 독립된 모듈)
31. UI와 관련된 기본 개념 중 하나로, 시스템의 상태와 사용자의 지시에 대한 효과를 보여주어 사용자가 명령에 대한 진행 상황과 표시된 내용을 해석할 수 있도록 도와주는 것을 영어로 쓰시오.
Feedback
[2024 정보처리기사 실기 예상 문제] 필기 1과목 변형
[2024 정보처리기사 실기 예상 문제] 필기 2과목 변형
'정보처리기사 > 예상문제' 카테고리의 다른 글
[2024 정보처리기사 실기 예상 문제] 필기 2과목 변형 문제 (2) | 2023.04.20 |
---|---|
[2024 정보처리기사 실기 예상 문제] SQL 문제 (9) | 2023.04.20 |
[2024 정보처리기사 실기 예상 문제] IT용어 16문제 3탄 (0) | 2023.04.17 |
2024 정보처리기사 실기 예상 문제 모음 (19) | 2023.04.11 |
[2024 정보처리기사 실기 예상 문제] IT용어 100문제 2탄 (0) | 2023.03.30 |